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
読書シェア会 vol.4 『ダイナミックリチーミング 第2版』
kotaro666
0
110
データと事例で振り返るDevin導入の"リアル" / The Realities of Devin Reflected in Data and Case Studies
rkaga
3
1.9k
一緒に働きたくなるプログラマの思想 #QiitaConference
mu_zaru
81
21k
LRパーサーはいいぞ
ydah
7
1.4k
最速Green Tea 🍵 Garbage Collector
kuro_kurorrr
1
120
Embracing Ruby magic
vinistock
2
240
プロフェッショナルとしての成長「問題の深掘り」が導く真のスキルアップ / issue-analysis-and-skill-up
minodriven
8
2k
実践Webフロントパフォーマンスチューニング
cp20
45
10k
SwiftDataのカスタムデータストアを試してみた
1mash0
0
150
20250429 - CNTUG Meetup #67 / DevOps Taiwan Meetup #69 - Deep Dive into Tetragon: Building Runtime Security and Observability with eBPF
tico88612
0
180
生成AI時代のフルスタック開発
kenn
5
540
Orleans + Sekiban + SignalR でリアルタイムWeb作ってみた
tomohisa
0
250
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Git: the NoSQL Database
bkeepers
PRO
430
65k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.7k
Building an army of robots
kneath
305
45k
A Tale of Four Properties
chriscoyier
159
23k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.5k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Become a Pro
speakerdeck
PRO
28
5.3k
Product Roadmaps are Hard
iamctodd
PRO
53
11k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
47
2.7k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.2k
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ͳͲܴ͠·͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ ϐοΫΞοϓגࣜձࣾͰΤϯδχΞΛ ืू͍ͯ͠·͢ͷͰԿଔ