Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Jetpack Compose
HiroYUKI Seto
May 17, 2019
Programming
2
510
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
1
4.5k
UI TestやVisual Regression Testを コスパ良くやる
seto_hi
3
1.4k
事業支援というお仕事
seto_hi
0
300
MDCの内部実装から学ぶ 表現力の高いViewの作り方
seto_hi
5
1.4k
CoordinatorLayoutのBehaviorを使い倒す
seto_hi
1
220
UI改善に繋がるエンジニアの立ち回り
seto_hi
2
3.8k
MDCのButtonのCorner Family
seto_hi
1
120
MDCのBottomAppBarのShadowの実現方法
seto_hi
0
680
Kyashは なぜ使いやすいのか
seto_hi
1
2k
Other Decks in Programming
See All in Programming
模組化的Swift架構(二) DDD速成
haifengkao
0
320
git on intellij
hiroto_kitamura
0
160
GitHub Actions を導入した経緯
tamago3keran
1
420
開発速度を5倍早くするVSCodeの拡張機能を作った
purp1eeeee
2
130
Beyond Micro Frontends: Frontend Moduliths for the Enterprise @enterjs2022
manfredsteyer
PRO
0
100
Android スキルセットをフル活用して始めるスマートテレビアプリ開発
satsukies
0
190
エンジニアによる事業指標計測のススメ
doyaaaaaken
1
170
Voiceflowではじめる音声アプリ・チャットボット開発〜2022年版〜 / Introduction to Developing Voice Apps & Chatbots with Voiceflow
kun432
0
160
#JJUG_CCC 「サポート」は製品開発? - JDBCライブラリ屋さんが実践する攻めのテクニカルサポートとJavaエンジニアのキャリアについて -
cdataj
0
400
Overview of The Modern Data Stack / モダンデータスタック概論
satoshihirose
6
3.2k
What's new in Jetpack / I/O Extended Japan 2022
star_zero
1
170
ANR overview at Uber + Leveraging ApplicationExitInfo API
yhartanto
0
320
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
19
1.4k
Three Pipe Problems
jasonvnalue
89
8.7k
Building Applications with DynamoDB
mza
83
4.7k
Producing Creativity
orderedlist
PRO
333
37k
The Illustrated Children's Guide to Kubernetes
chrisshort
14
36k
Scaling GitHub
holman
451
140k
Faster Mobile Websites
deanohume
294
28k
Building an army of robots
kneath
299
40k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
12
920
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
How to Ace a Technical Interview
jacobian
265
21k
Put a Button on it: Removing Barriers to Going Fast.
kastner
56
2.3k
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