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
930
既存の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
カクヨムAndroidアプリのリブート
numeroanddev
0
460
GraphicsLayerのBitmap作成
numeroanddev
0
180
GraphQLとGigaViewer for Apps
numeroanddev
4
3.9k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
680
Material 3で Material 2ぽい見た目にする
numeroanddev
2
590
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
420
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
520
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
910
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
700
Other Decks in Programming
See All in Programming
Node-RED を(HTTP で)つなげる MCP サーバーを作ってみた
highu
0
120
データの民主化を支える、透明性のあるデータ利活用への挑戦 2025-06-25 Database Engineering Meetup#7
y_ken
0
350
AIエージェントはこう育てる - GitHub Copilot Agentとチームの共進化サイクル
koboriakira
0
510
Rubyでやりたい駆動開発 / Ruby driven development
chobishiba
1
660
AIともっと楽するE2Eテスト
myohei
0
310
Discover Metal 4
rei315
2
130
レベル1の開発生産性向上に取り組む − 日々の作業の効率化・自動化を通じた改善活動
kesoji
0
120
XP, Testing and ninja testing
m_seki
3
240
第9回 情シス転職ミートアップ 株式会社IVRy(アイブリー)の紹介
ivry_presentationmaterials
1
280
生成AI時代のコンポーネントライブラリの作り方
touyou
1
170
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
510
Modern Angular with Signals and Signal Store:New Rules for Your Architecture @enterJS Advanced Angular Day 2025
manfredsteyer
PRO
0
210
Featured
See All Featured
Making Projects Easy
brettharned
116
6.3k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
KATA
mclloyd
30
14k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Music & Morning Musume
bryan
46
6.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Building Adaptive Systems
keathley
43
2.7k
Site-Speed That Sticks
csswizardry
10
680
Java REST API Framework Comparison - PWX 2021
mraible
31
8.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
5
270
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