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
HiroYUKI Seto
May 17, 2019
Programming
2
710
Jetpack Compose
19/05/17
Shibuya.apk #34 - Report from Google I/O 2019
HiroYUKI Seto
May 17, 2019
Tweet
Share
More Decks by HiroYUKI Seto
See All by HiroYUKI Seto
Androidアプリの 安全なリファクタリングを行うパターン集
seto_hi
2
4.9k
UI TestやVisual Regression Testを コスパ良くやる
seto_hi
3
1.8k
事業支援というお仕事
seto_hi
0
390
MDCの内部実装から学ぶ 表現力の高いViewの作り方
seto_hi
5
1.7k
CoordinatorLayoutのBehaviorを使い倒す
seto_hi
1
350
UI改善に繋がるエンジニアの立ち回り
seto_hi
2
4.6k
MDCのButtonのCorner Family
seto_hi
1
140
MDCのBottomAppBarのShadowの実現方法
seto_hi
0
910
Kyashは なぜ使いやすいのか
seto_hi
1
2.4k
Other Decks in Programming
See All in Programming
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
8
2.2k
見せてあげますよ、「本物のLaravel批判」ってやつを。
77web
7
7.7k
色々なIaCツールを実際に触って比較してみる
iriikeita
0
330
PHP でアセンブリ言語のように書く技術
memory1994
PRO
1
170
LLM生成文章の精度評価自動化とプロンプトチューニングの効率化について
layerx
PRO
2
190
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
580
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
Amazon Qを使ってIaCを触ろう!
maruto
0
400
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
120
ヤプリ新卒SREの オンボーディング
masaki12
0
130
リアーキテクチャxDDD 1年間の取り組みと進化
hsawaji
1
220
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
120
Featured
See All Featured
How STYLIGHT went responsive
nonsquared
95
5.2k
Writing Fast Ruby
sferik
627
61k
Done Done
chrislema
181
16k
Adopting Sorbet at Scale
ufuk
73
9.1k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
How To Stay Up To Date on Web Technology
chriscoyier
788
250k
Imperfection Machines: The Place of Print at Facebook
scottboms
265
13k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
A Modern Web Designer's Workflow
chriscoyier
693
190k
A designer walks into a library…
pauljervisheath
203
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
250
21k
The World Runs on Bad Software
bkeepers
PRO
65
11k
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