Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
デザインシステムを利用したSwiftUIによるアプリ開発事情
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
spycwolf
October 24, 2022
Programming
860
1
Share
デザインシステムを利用したSwiftUIによるアプリ開発事情
spycwolf
October 24, 2022
More Decks by spycwolf
See All by spycwolf
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
330
Other Decks in Programming
See All in Programming
今年もTECHSCOREブログを書き続けます!
hiraoku101
0
220
AWS re:Invent 2025の少し振り返り + DevOps AgentとBacklogを連携させてみた
satoshi256kbyte
2
140
The free-lunch guide to idea circularity
hollycummins
0
410
Laravel Nightwatchの裏側 - Laravel公式Observabilityツールを支える設計と実装
avosalmon
1
310
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
780
Codex CLIのSubagentsによる並列API実装 / Parallel API Implementation with Codex CLI Subagents
takatty
2
820
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
390
Goの型安全性で実現する複数プロダクトの権限管理
ishikawa_pro
2
1.4k
おれのAgentic Coding 2026/03
tsukasagr
1
130
安いハードウェアでVulkan
fadis
1
880
Rethinking API Platform Filters
vinceamstoutz
0
7.1k
Geminiをパートナーに神社DXシステムを個人開発した話(いなめぐDX 開発振り返り)
fujiba
0
130
Featured
See All Featured
The Cult of Friendly URLs
andyhume
79
6.8k
How to build a perfect <img>
jonoalderson
1
5.3k
Evolving SEO for Evolving Search Engines
ryanjones
0
170
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
480
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.6k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
500
The untapped power of vector embeddings
frankvandijk
2
1.7k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.1k
Navigating Weather and Climate Data
rabernat
0
160
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8k
Deep Space Network (abreviated)
tonyrice
0
100
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
150
Transcript
STORES 株式会社 2022/10/20 デザインシステムを利用したSwiftUIによ るアプリ開発事情
2 @neko 2022.03〜 STORES株式会社 STORES 予約 モバイルアプリエンジニア
3 現在の状況 • モバイルアプリエンジニア3名 ◦ チームにはその他、BEエンジニア、デザイナー、PdMが各1名ずつ • モバイルアプリエンジニア3名 ◦ 店舗のオーナーさん向けiOS/Androidアプリ
◦ 予約するユーザーさん向けiOS/Androidアプリ • リニューアルに伴い、利用技術を見直し ◦ iOS:Swift / SwiftUI ◦ Android:Kotlin / Jetpack Compose
4 デザインシステム導入の背景 1 • 宣言的UIとデザインシステムとの相性が良い ◦ 宣言的UIではコードのネストが深くなりがちだが、ネストが深くなりす ぎると、可読性が落ちていく ◦ 上記を避けるため、ビューの構成要素を分割していくが、どの単位で分
割するのか、エンジニア間で合意が必要 ◦ デザイナー組織を中心に全社的なデザインシステム導入の動きがあり、 実装側もそれにあわせることがスムーズと考えた
5 デザインシステム導入の背景 2 • デザイン <-> 開発コストの抑制 ◦ デザイナー側に、プラットフォームごとのコンポーネント表現の差、OS バージョンごとの仕様の差などを逐一把握してもらうことが難しい
◦ デザインシステムを双方で導入することにより、それが共通言語として の役割を果たしてくれる期待 ◦ それにより、お互いの認識齟齬を防ぎ、運用の蓄積によってデザイン・ 開発コストが抑制されていくのではないか
6 実装の進め方 • Foundation ◦ Color、Typographyなどを定義 • Component、Pattern ◦ Button、TextField、SegmentedControl、Dialog、TabViewなどを実装
• ライブラリとして開発 ◦ 各プロダクトにインポートして利用することを想定し、独立したライブ ラリとして開発
Color定義 サンプルコード 7 ※コードは公開用に編集してあり、実際のコードとは異なります
Typography定義 サンプルコード 8 ※コードは公開用に編集してあり、実際のコードとは異なります
Button定義 サンプルコード 9 ※コードは公開用に編集してあり、実際のコードとは異なります
10 チーム内での共有 • 実装したライブラリの内容を一覧できるアプリ ◦ ライブラリの内容が確認できるカタログアプリを開発 • デザイナーやPdMが実際の端末で確認できる ◦ 実際の端末での見え方や操作感を体験してもらえる
• iOS/Androidそれぞれのアプリを実装 ◦ プラットフォームやバージョンごとの差異が分かる
None
12 ここまでの課題 • バリエーションの実装方針が難しい ◦ 似ているが少し違うパターンをどのように実装するか ◦ 引数によって分岐させるか、別々のコンポーネントにするか • 想定外のパターンへの対応が難しい
◦ 実際の画面要件として想定外のパターンが出てきた場合、都度対応が必 要になってくる ◦ 事前にある程度、方向性を決めておくことが必要
13 開発スピードは向上 • 実際の画面を実装する際、事前に準備してあるコンポーネントを呼び出すだ けなのがかなり楽 • デザイナーとのコミュニケーションがスムーズになり、お互いのコスト削減 に役立っている実感がある
14 ありがとうございました