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
Jetpack Compose
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
HiroYUKI Seto
May 17, 2019
Programming
880
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Jetpack Compose
19/05/17
Shibuya.apk #34 - Report from Google I/O 2019
HiroYUKI Seto
May 17, 2019
More Decks by HiroYUKI Seto
See All by HiroYUKI Seto
Androidアプリの 安全なリファクタリングを行うパターン集
seto_hi
2
5k
UI TestやVisual Regression Testを コスパ良くやる
seto_hi
3
1.9k
事業支援というお仕事
seto_hi
0
460
MDCの内部実装から学ぶ 表現力の高いViewの作り方
seto_hi
5
1.9k
CoordinatorLayoutのBehaviorを使い倒す
seto_hi
1
460
UI改善に繋がるエンジニアの立ち回り
seto_hi
2
4.8k
MDCのButtonのCorner Family
seto_hi
1
260
MDCのBottomAppBarのShadowの実現方法
seto_hi
0
1.1k
Kyashは なぜ使いやすいのか
seto_hi
1
2.6k
Other Decks in Programming
See All in Programming
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
420
Language Server 使ってる? 〜VSCode と Zed の場合〜 / Are you using a Language Server? ~For VS Code and Zed~
handlename
0
820
AIで効率化できた業務・日常
ochtum
0
160
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
200
技術的負債解消で開発者の未来を開く- AIの力でコード刷新
kmd2kmd
0
140
気圧・高度・GPSを記録&可視化するアプリ「Koudo」を作った話
hjmkth
1
340
正しくソフトウェアを作る、前提を疑うための認知の視点 / doubt-premise
minodriven
21
7.2k
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
340
はてなアカウント基盤 State of the Union
cockscomb
1
1.2k
The Bowling Game- From Imperative to Functional Programming - Part 1
philipschwarz
PRO
0
210
Performance Engineering for Everyone
elenatanasoiu
0
250
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
140
Featured
See All Featured
Color Theory Basics | Prateek | Gurzu
gurzu
0
380
Being A Developer After 40
akosma
91
590k
30 Presentation Tips
portentint
PRO
1
340
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Six Lessons from altMBA
skipperchong
29
4.3k
Heart Work Chapter 1 - Part 1
lfama
PRO
8
36k
Raft: Consensus for Rubyists
vanstee
141
7.6k
My Coaching Mixtape
mlcsv
0
160
Unsuck your backbone
ammeep
672
58k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
ラッコキーワード サービス紹介資料
rakko
1
3.8M
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
Transcript
+FUQBDL$PNQPTF גࣜձࣾϊϋφɹށ༏೭
ށ༏೭!TFUP@IJ גࣜձࣾϊϋφ ΞϓϦΤϯδχΞ
None
*FOKPZFE*0
8IBU`T+FUQBDL$PNQPTF
⚠&YQFSJNFOUBM"1*⚠ OPUSFBEZGPSQSPEVDUJPOVTF
8IBU`T+FUQBDL$PNQPTF w +FUQBDLϥΠϒϥϦͷͻͱͭͱͯ͠ఏڙ͞ΕΔ w એݴత6*ߏங w "OLP'MVUUFSͱࣅͨهड़ w YNMͰͷMBZPVUͷସ w
طଘͷ7JFXͷସ w ޓੑΛ࣋ͨͤΔ͜ͱ͕Ͱ͖Δ
8IZ+FUQBDL$PNQPTF
6OCVOEMFUIF6*5PPMLJU w $IFU)BBTFTBZTl"1*EFTJHOJTCVJMEJOHGVUVSFSFHSFUz w 7JFXKBWBສߦऑ w #VUUPOFYUFOET5FYU7JFX w ճస͠ͳ͍4QJOOFS w
7JFXΛ+FUQBDLԽ͍ͨ͠ w 04ΞοϓσʔτΛͭ͜ͱͳ͘όάΛमਖ਼Ͱ͖Δ
+FUQBDL$PNQPTFݪଇ w ,PUMJOͰ؆ܿʴࣗવʹॻ͚Δ w એݴత w ޓੑ͕͋Δ w ඒ͍͠ΞϓϦΛ࡞ΕΔ w
։ൃΛՃ͢Δ IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTFDPSF@QSJODJQMFT
)PXUPVTF
)PXUPVTF w IUUQTBOESPJEHPPHMFTPVSDFDPNQMBUGPSNGSBNFXPSLT TVQQPSU BOESPJEYNBTUFSEFWVJ3&"%.&NEHFUUJOH TUBSUFE w ϥΠϒϥϦԽ͞Ε͍ͯͳ͍ w BOESPJE9ͷ։ൃڥߏங͕ඞཁ
)PXUPVTF override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent {
Text("hello") } } ˞setContent"DUJWJUZͷ֦ுؔ
)PXUPVTF @Composable fun Greeting(name: String) { Text(name) }
)PXUPVTF @Composable @GenerateView fun Greeting(name: String) { Text(name) }
!(FOFSBUF7JFX w YNMͰఆٛͰ͖Δ • <GreetingView /> w findViewById(R.id.greeting)
)PXUPVTF @Composable fun RallyBody() { Padding(padding = 16.dp) { Column
{ // TODO: scrolling container RallyAlertCard() HeightSpacer(height = 10.dp) RallyAccountsCard() HeightSpacer(height = 10.dp) RallyBillsCard() } } }
·ͱΊ
·ͱΊ w ⚠&YQFSJNFOUBM⚠ w એݴత6*ߏங w طଘͷ7JFXΛஔ͖͑Δͷ w BOOPUBUJPOͰޓੑ͕อͯΔ w
ઈࢍҙݟืूத
ࢀߟϦϯΫ w +FUQBDL$PNQPTF IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTF w +FUQBDL$PNQPTF3&"%.&NE IUUQTBOESPJEHPPHMFTPVSDFDPNQMBUGPSNGSBNFXPSLT TVQQPSU BOESPJEYNBTUFSEFWVJ3&"%.&NE w
%FDMBSBUJWF6*1BUUFSOT (PPHMF*0` IUUQTZPVUVCF7T4UZR-[YP
None