Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
gatosyocora デザインシステムcharcoalとJetpack Compose
Slide 2
Slide 2 text
自己紹介 • gatosyocora • 2021年新卒入社 • Androidエンジニア • pixiv Androidアプリ 2
Slide 3
Slide 3 text
アジェンダ 1. デザインシステムcharcoal 1. なぜ作ったのか 2. 設計思想 2. charcoal-android 1. Jetpack Compose対応コンポーネント 2. 保守・運用 3
Slide 4
Slide 4 text
デザインシステム 以下をまとめたもの • スタイルガイド:デザインの原則がまとまったドキュメント • UIライブラリ:UIの実装をまとめたもの • ルール・ツール群:リソース管理のルール、変換スクリプトなど 4
Slide 5
Slide 5 text
なぜデザインシステムを作ったのか? プロダクトに大きな柔軟性を生む • リブランディングしやすい • 良しとするデザインが定まっている • →プロダクトの意図がユーザーに伝わりやすい • 要素を変えやすい • UI実装にかかるコスト低減 5
Slide 6
Slide 6 text
charcoal • ピクシブ株式会社のデザインシステム • Web版はOSSとして公開中 • https://github.com/pixiv/charcoal • Android版, iOS版は公開準備中 6
Slide 7
Slide 7 text
charcoalの設計思想 https://pixiv.github.io/charcoal/docs/#/ 7
Slide 8
Slide 8 text
Bold 20 Bold 16 Reguler 20 charcoalのConstants (Design Token) Text 1 Text 3 Surface 1 Tx Tx Tx LikeOn ShareAndroid BookmarkOn 8
Slide 9
Slide 9 text
charcoalのComponents 9
Slide 10
Slide 10 text
charcoalで使用している色について • WCAG3 (W3C Accessibility Guidelines) を参考に決めている • https://www.w3.org/TR/wcag-3.0/ 1
Slide 11
Slide 11 text
ピクシブのAndroidアプリとcharcoal-android 1 一部導入済 導入予定 導入しない
Slide 12
Slide 12 text
charcoal-androidの実装 • Android View • Material components for androidをベース • 画面に対して CharcoalTheme を設定すると適用される • Jetpack Compose • charcoalのトークンに準拠するようにラップ 1
Slide 13
Slide 13 text
Jetpack Compose対応コンポーネント • RadioButton • TopAppBar • CharcoalButton • CharcoalSwitch • CharcoalCheckbox 1
Slide 14
Slide 14 text
RadioButton 1
Slide 15
Slide 15 text
CharcoalRadioButtonColors 1
Slide 16
Slide 16 text
Point:alphaの合成 1
Slide 17
Slide 17 text
TopAppBar 1
Slide 18
Slide 18 text
CharcoalTopAppBarStyle 1
Slide 19
Slide 19 text
Point:alphaをcharcoalのものに合わせた 19
Slide 20
Slide 20 text
Point:alphaをcharcoalのものに合わせた 2
Slide 21
Slide 21 text
charcoal-androidのカタログアプリ 2
Slide 22
Slide 22 text
MagicPodによるVRT 2
Slide 23
Slide 23 text
WebとのDesign Tokenの同期 • 更新されていればPRを作成 • CIで変換 • 色、文字スタイルなど:json -> xml • アイコン:svg -> vector drawable 2
Slide 24
Slide 24 text
Vector Drawableへの変換 • VectorDrawableToolを使用 • Android Studioで使用されているGUIツール • ビルドしてCIで利用 2
Slide 25
Slide 25 text
まとめ ● デザインシステムcharcoal ○ ピクシブのプロダクトのためのスタイルガイド、UIライブラリ、ルール・ツール 群をまとめたもの ○ プロダクトに大きな柔軟性が生まれる ● charcoal-android ○ charcoalのDesign Tokenに合わせるためのいくつかのPoint ○ カタログアプリとVRT ○ WebとのDesign Tokenの同期 2