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
既存のAndroidプロジェクトを Jetpack Composeに移行してみる / Migr...
Search
Nabe
February 19, 2021
Programming
1
870
既存のAndroidプロジェクトを Jetpack Composeに移行してみる / Migrate existing Android project to Jetpack Compose
2021/02/19
Mobile Act ONLINE #3
https://mobileact.connpass.com/event/200515/
Nabe
February 19, 2021
Tweet
Share
More Decks by Nabe
See All by Nabe
GraphicsLayerのBitmap作成
numeroanddev
0
110
GraphQLとGigaViewer for Apps
numeroanddev
4
1.2k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
620
Material 3で Material 2ぽい見た目にする
numeroanddev
2
510
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
370
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
460
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
860
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
660
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.4k
Other Decks in Programming
See All in Programming
カンファレンス動画鑑賞会のススメ / Osaka.swift #1
hironytic
0
170
React 19でお手軽にCSS-in-JSを自作する
yukukotani
5
570
asdf-ecspresso作って 友達が増えた話 / Fujiwara Tech Conference 2025
koluku
0
1.4k
Внедряем бюджетирование, или Как сделать хорошо?
lamodatech
0
940
Alba: Why, How and What's So Interesting
okuramasafumi
0
210
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
370
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
390
GitHub CopilotでTypeScriptの コード生成するワザップ
starfish719
26
6k
Flatt Security XSS Challenge 解答・解説
flatt_security
0
740
テストコード書いてみませんか?
onopon
2
340
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
450
Featured
See All Featured
Docker and Python
trallard
43
3.2k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
160
15k
A better future with KSS
kneath
238
17k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
230
52k
Six Lessons from altMBA
skipperchong
27
3.6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
19
2.3k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
29k
YesSQL, Process and Tooling at Scale
rocio
170
14k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
.PCJMF"DU0/-*/& طଘͷ"OESPJEϓϩδΣΫτΛ +FUQBDL$PNQPTFʹҠߦͯ͠ΈΔ
1SPGJMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w גࣜձࣾͯͳ w
"OESPJEJ04BQQMJDBUJPOFOHJOFFS
+FUQBDL$PNQPTFͱ w "OESPJEʹ͓͚Δએݴత6*ͷϑϨʔϜϫʔΫ w "OESPJEҎ߱Ͱ͑Δ w ݱࡏͰBMQIB͕࠷৽ w ʹ4UBCMFʹͳΔ༧ఆ w
IUUQTXXXZPVUVCFDPNXBUDI W6#XGR#QJ86GFBUVSFZPVUVCFU ͜ͷઌɺ+FUQBDL$PNQPTFΛ$PNQPTFͱলུͯ͠දه͠·͢
ࠓ͢͜ͱ w ࣮ࡍʹ͋ΔϓϩδΣΫτΛ+FUQBDL$PNQPTFʹશҠߦͯ͠Έ·͢ w ͲͷΑ͏ͳखॱͰҠߦ͢Δ͜ͱʹͳΔͷ͔ w ҠߦͰେมͩͬͨՕॴ w +FUQBDL$PNQPTFʹඋ͑ͯࠓ͔ΒͰ͖Δ͜ͱ
+FUQBDL$PNQPTFʹҠߦ͢Δखॱ طଘͷ7JFXͱಉ͡σβΠϯͷ$PNQPTBCMFGVOΛ࣮͢Δ w "OESPJE4UVEJPͰ1SFWJFXΛ֬ೝͰ͖Δ "DUJWJUZPS'SBHNFOUͷը໘୯ҐͰ$PNQPTFஔ͖͑Δ w $PNQPTF"DUJWJUZ'SBHNFOU7JFX୯ҐͰͷಋೖ͕Մೳ
ը໘ભҠΛ$PNQPTFͰભҠͤ͞ΔΑ͏ʹ͢Δ
ࠓճҠߦ͢ΔϓϩδΣΫτ w 6IPPJ1JD#PPL"OESPJEͱ͍͏ɹ ϗʔΠ͞Μ !UIF@VIPPJ ͕ (JU)VCʹ044ͱͯ͠ެ։͍ͯ͠ ΔϓϩδΣΫτΛ$PNQPTFʹҠ ߦͯ͠Έ·͢ w
IUUQTHJUIVCDPNVIPPJ 6IPPJ1JD#PPL"OESPJE w ͜ͷΞϓϦҰཡɺৄࡉͱγϯϓ ϧͳߏͷΞϓϦͰ͢
ΞΠςϜΛ࣮
ΞΠςϜΛ࣮
ϦετΛ࣮
ϦετΛ࣮
Ұཡͷը໘Λ࣮
Ұཡͷը໘Λ࣮
σʔλΛҰཡʹө w $PNQPTF͕ѻ͑Δ 0CTFSWBCMFͳܕͱͯ͠4UBUF ͕༻ҙ͞Ε͓ͯΓɺ-JWF%BUBΛ PCTFSWF"T4UBUFͰ$PNQPTF Ͱ؍ଌͰ͖ΔΑ͏ʹ w -JWF%BUBɺ4UBUF'MPXɺ 3Y+BWB4UBUFʹม͢Δ
Έ͕༻ҙ͞Ε͍ͯΔ
'SBHNFOUʹ$PNQPTFΛදࣔ w $PNQPTF7JFXΛ'SBHNFOUͷ7JFX ʹઃఆ͠ɺTFU$POUFOUʹ $PNQPTFΛॻ͚ͩ͘ w .ED5IFNFϓϩδΣΫτͰઃఆ͞ Ε͍ͯΔ5IFNFΛ$PNQPTFͷ 5IFNFʹஔ͖͑ͯ͘ΕΔͷ w
IUUQTHJUIVCDPNNBUFSJBM DPNQPOFOUTNBUFSJBM DPNQPOFOUTBOESPJEDPNQPTF UIFNFBEBQUFS
ଞͷը໘Ҡߦ͢Δ w جຊతʹͲͷը໘Ͱखॱಉ͡Ͱ طଘͷ7JFXͱಉ͡σβΠϯͷ$PNQPTBCMFGVOΛ࣮͢Δ "DUJWJUZPS'SBHNFOUͷը໘୯ҐͰ$PNQPTFஔ͖͑Δ Ͱஔ͖͍͖͑ͯ·͢ w ଞͷը໘ͷஔ͖͑লུ͠·͢
ը໘ભҠΛҠߦ͢Δ w ࠓճ+FUQBDLʹ͋Δ/BWJHBUJPO$PNQPTFΛͬͯભҠॲཧΛ࣮ w IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTFOBWJHBUJPO w /BWJHBUJPO$PNQPTFΛΘͣʹભҠॲཧΛؤு࣮ͬͯ͢Δ͜ͱͰ͖Δ
ը໘ͷάϥϑΛ࣮͢Δ w /BW)PTUͷதͰDPNQPTBCMFΛ༻͠ ͯભҠʹ͏SPVUFͱ$PNQPTBCMFͷ ఆٛΛ࣮͢Δ w /BWJHBUJPOͷ,PUMJO%4-ͷ࣮ͱಉ ͡ w ͜ͷDPNQPTBCMFͰSPVUFʹઃఆ͠
ͨύεͰ%FFQMJOLΛੜͯ͠ભҠΛ࣮ ݱ͍ͯ͠Δ w /BW$POUSPMMFSʹఆٛͯ͋͠ΔSPVUFΛ ͤભҠͰ͖Δ
ભҠઌͷը໘ʹΛ͢ w SPVUFʹ͍ͨ͠Λఆٛ͠ɺ BSHVNFOUTʹܕใΛఆٛ͠·͢ w ड͚औΔ࣌DPNQPTBCMFʹฦͬ ͯ͘Δ/BWCBDL4UBDL&OUSZ͔Β ड͚औΓ·͢ w ભҠ࣌ʹ4FSJBMJ[BCMF
1BSDFMBCMFΛ͢खஈ BMQIB࣌Ͱͳ͍
ը໘ભҠΛҠߦ͢Δ w ϧʔτͷ"DUJWJUZʹ TFU$POUFOUͰ$PNQPTFΛද ࣔ͢ΔΑ͏ʹ͢ΕҠߦྃ
$PNQPTFʹҠߦͯ͠Έͯ w طଘͷ7JFXͱ$PNQPTFʹޓ͕͋Δ͔Βಋೖ͍͢͠ w ࠓճ͍ͯ͠ͳ͍͕$PNQPTFʹ͜Ε·Ͱͷ7JFXΛදࣔͤ͞Δ͜ͱՄೳ w ը໘ભҠͷҠߦ͕ॴͰɺ'SBHNFOU /BWJHBUJPOͱ/BWJHBUJPO$PNQPTF ͷซ༻͕͘͠ɺશͯͷը໘ભҠΛҰʹஔ͖͑ΔͱͳΔͱίετ͕ߴ͍ w
'SBHNFOU /BWJHBUJPOͦͷ··ʹத͚ͩ$PNQPTFΛ͏ͷ͕ࠓͷͱ ͜Ζແͦ͏ w $PNQPTFࣗମ׳ΕΔͱշదʹϨΠΞτͰ͖Δ
$PNQPTFΛݟӽͯ͠ࠓͰ͖Δ͜ͱ w "OESPJE"SDIJUFDUVSF$PNQPOFOUʹଇ࣮ͬͨɾઃܭΛ͍ͯ͠Δ͜ͱ w ެ͔ࣜΒ(VJEFUPBQQBSDIJUFDUVSFͱ͍͏υΩϡϝϯτ͕༻ҙ͞Ε͍ͯΔ w IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLHVJEF w ݫີʹ7JFXʹ͖࣋ͭͰͳ͍ϩδοΫঢ়ଶΛ͍࣋ͬͯͳ͍͜ͱ w
$PNQPTFͷஔ͖͑Ͱඞཁͳมߋ͕7JFX͚ͩʹ͑Δ͜ͱ͕Ͱ͖Δ w $PNQPTFΛ৮͓ͬͯ͘͜ͱ
ࢀߟ w IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTF w IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTFJOUFSPQ w IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLHVJEF w IUUQTHJUIVCDPNNBUFSJBMDPNQPOFOUTNBUFSJBMDPNQPOFOUTBOESPJEDPNQPTFUIFNFBEBQUFS w
IUUQTHJUIVCDPNDISJTCBOFTBDDPNQBOJTU Ҡߦʹ༻ͨ͠ϓϩδΣΫτ w IUUQTHJUIVCDPNVIPPJ6IPPJ1JD#PPL"OESPJE w 5IBOLT!UIF@VIPPJ 'PSLઌͰࢼ͠ʹ$PNQPTFҠߦͨ͠13 w IUUQTHJUIVCDPN/6NFSP"OE%FW6IPPJ1JD#PPL"OESPJEQVMM
5IBOLZPV