Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
デザインシステムを利用したSwiftUIによるアプリ開発事情
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
spycwolf
October 24, 2022
Programming
920
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
デザインシステムを利用したSwiftUIによるアプリ開発事情
spycwolf
October 24, 2022
More Decks by spycwolf
See All by spycwolf
アプリエンジニアのためのGraphQL入門.pdf
spycwolf
0
370
Other Decks in Programming
See All in Programming
The Rails Doctrine Decade
koic
2
390
SONY CISC-NEWS NWS-1750 + NWB-225 フレームバッファの NetBSD/news68k ドライバ実装 / OSC2026Hiroshima
tsutsui
0
150
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
170
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
1.4k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
320
手動確認はもう限界 〜XCUITestでCustom URL Schemeの遷移を起動種別ごとに自動テストする〜 / Testing Custom URL Schemes with XCUITest
otouto
0
340
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
Everything will be SERVERLESS — 信じて運用した10年の経験値 / Everything Will be Serverless — Lessons Learned from 10 Years of Operational Experience
seike460
PRO
1
520
Heart of Swift Concurrency
koher
0
980
Building an Out-of-Order CPU
latte72
1
800
[ハンズオン]AIへの指示だけで「五目並べ」を作ってみよう
satoshi256kbyte
1
220
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
200
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
3k
Optimising Largest Contentful Paint
csswizardry
37
4k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
340
Unsuck your backbone
ammeep
672
58k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
エンジニアに許された特別な時間の終わり
watany
109
250k
A Soul's Torment
seathinner
8
3.6k
My Coaching Mixtape
mlcsv
0
320
How to train your dragon (web standard)
notwaldorf
97
6.8k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Writing Fast Ruby
sferik
630
63k
Accessibility Awareness
sabderemane
1
220
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 ありがとうございました