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
UI Component Catalog for Android
Search
kazutoyo
March 27, 2019
Programming
2
790
UI Component Catalog for Android
AndroidでUI Componentの一覧を表示をする
kazutoyo
March 27, 2019
Tweet
Share
Other Decks in Programming
See All in Programming
Domain-Driven Transformation
hschwentner
2
1.9k
さいきょうのレイヤードアーキテクチャについて考えてみた
yahiru
3
730
『品質』という言葉が嫌いな理由
korimu
0
160
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
GitHub Actions × RAGでコードレビューの検証の結果
sho_000
0
240
AWS Organizations で実現する、 マルチ AWS アカウントのルートユーザー管理からの脱却
atpons
0
130
CNCF Project の作者が考えている OSS の運営
utam0k
5
690
社内フレームワークとその依存性解決 / in-house framework and its dependency management
vvakame
1
550
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
8
1.7k
『GO』アプリ データ基盤のログ収集システムコスト削減
mot_techtalk
0
110
SwiftUI Viewの責務分離
elmetal
PRO
0
140
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
670
Featured
See All Featured
Mobile First: as difficult as doing things right
swwweet
223
9.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
Being A Developer After 40
akosma
89
590k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
348
20k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
29
2.2k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
29
4.6k
The Cult of Friendly URLs
andyhume
78
6.2k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
240
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
Transcript
UI Component Catalog for Android ϐοΫΞοϓגࣜձࣾ @kazutoyo
ࣗݾհ ϐοΫΞοϓגࣜձࣾ ౦ւ ๛ ʢ@kazutoyoʣ νϟοτܕখઆͷDMM TELLERͷ iOS/Androidͷ։ൃΛ୲
None
UI Component
None
UI Component • ΞϓϦέʔγϣϯ্Ͱ࠶ར༻Ͱ͖ΔΑ͏ͳViewΛ·ͱΊΔ • ϘλϯɺϦετɺΧʔυ…etc
UI Component Catalog
None
Storybook • React/Vue/AngularͰͷUI Component Catalog • StorybookΛ͏͜ͱͰɺ։ൃऀσβΠφʔίϯϙʔωϯ τ୯ҐͰͦΕͧΕͷ࣮ৼΔ͍Λ֬ೝ͢Δ͜ͱ͕Ͱ͖Δ • ͲΜͳίϯϙʔωϯτ͕͋Δ͔ಈ͔ͯ֬͠ೝ͢Δ͜ͱ͕Ͱ͖
Δ
ΊͬͪΌ͍͍ʂʂ
AndroidͰ͍ͨͯ͘ ʢࡶʹʣͭͬͯ͘Έ·ͨ͠
https://github.com/kazutoyo/ UIComponentCatalog
طଘͷϓϩδΣΫτʹՃͯ͠ΈΔ
طଘͷطଘͷϓϩδΣΫτʹՃͯ͠ΈΔ • TELLERͷΞϓϦͰݱࡏϚϧνϞδϡʔϧʹͳ͍ͬͯͳ͍ • ৽نͰ࡞ΔίϯϙʔωϯτΛ:uicomponentͱͯ͠Ϟδϡʔϧʹ Γग़͢ • UIComponentCatalog༻ͷPhone&TabletϞδϡʔϧΛՃͯ͠ɺ ͦ͜Ͱ:uicomponentϞδϡʔϧΛಡΈࠐΈUIComponentCatalog Λ࣮͢Δ
NewModule → Android Library
͜Μͳײ͡ͰUIComponent༻ͷϞδϡʔϧΛՃ
:uicomponentʹͭͬͨ͘ComponentΛՃ
NewModule → Phone & Tablet Module
UIComponentCatalogϞδϡʔϧΛՃ
ActivityΛՃʢLayout Fileੜ͠ͳ͍ʣ
JitPackϦϙδτϦΛՃ > build.gradle (project) repositories { google() jcenter() maven {
url "https://jitpack.io" } }
UIComponentCatalogͱ :uicomponentϞδϡʔϧΛՃ > uicomponentcatalog/build.gradle dependencies { implementation ‘com.github.kazutoyo:UIComponentCatalog:0.0.+’ implementation project(':uicomponent')
}
ComponentCatalogActivityΫϥεΛܧঝͯ͠ createCollections()Λ࣮͢Δ class TellerUIComponentCatalogActivity : ComponentCatalogActivity() { override fun createCollections():
List<ComponentCatalogCategory> = listOf( ComponentCatalogCategory("Common", listOf( ComponentCatalogSubCategory("ϑΥϩʔϘλϯ", listOf( object : ComponentItem("ϑΥϩʔϘλϯʢະϑΥϩʔʣ") { override fun buildItem(): View { return FollowButton(this@TellerUIComponentCatalogActivity).apply { setIsFollowed(false) } } } )) )) ) }
͔ͭͬͯΈͯ • ߴʹUIίϯϙʔωϯτͷ։ൃͰ͖ΔΑ͏ʹͳͬͨ • ͱ͘ʹຊମΞϓϦ͕Ϟδϡʔϧׂ͞Ε͍ͯͳ͔͔ͬͨΒ͍··ͰΊͪΌͪ͘Ό Ϗϧυ͕͔͔͍͚࣌ؒͬͯͨͲɺUIComponentCategoryͷΞϓϦέʔγϣϯ Ͱ֬ೝͰ͖ΔͷͰϏϧυ͕ͪͳ͘ͳͬͨ • ViewΛίϯϙʔωϯτԽ͢Δบ͕ͭ͘Α͏ͳؾ͕͢Δ •
σβΠφʔ͞Μͱίϯϙʔωϯτ୯ҐͰσβΠϯνΣοΫ͕Ͱ͖ΔͷͰɺΓ ͘͢ͳΓͦ͏
·ͩ·ͩUIComponentCatalog࡞Γ్தͳͷͰ ఏҊPullRequestͳͲܴ͠·͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ϐοΫΞοϓגࣜձࣾͰΤϯδχΞΛ ืू͍ͯ͠·͢ͷͰԿଔ