Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
既存のAndroidプロジェクトを Jetpack Composeに移行してみる / Migr...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nabe
February 19, 2021
Programming
1k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
既存の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
More Decks by Nabe
See All by Nabe
カクヨムAndroidアプリのリブート
numeroanddev
0
710
GraphicsLayerのBitmap作成
numeroanddev
0
270
GraphQLとGigaViewer for Apps
numeroanddev
4
4.8k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
810
Material 3で Material 2ぽい見た目にする
numeroanddev
2
700
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
540
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
630
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
1k
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
780
Other Decks in Programming
See All in Programming
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
作って学ぶSpring BootのAuto Configuration / JJUG Night Seminar 2026-10-19
rshindo
0
220
Getting Started with Vibe Coding
miccheng
0
190
protojson における文字化けの扱い
kazuki1023
0
230
社内AIエージェント「Askワンバン」における コストチューニングの取り組み
t0yohei
0
170
Apple Intelligenceとオンデバイス時代の到来
yahir0
0
240
Spec-Driven Development - Why Vaadin Is the Perfect Fit
simas
PRO
0
240
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
170
プロジェクトコードをキレイキレイしよう!暗黙的な参照を読み解く静的解析
ostk0069
0
210
Rails初心者がパスキーを実装してみて大変だったこと
ktombow
0
160
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
360
Web Framework Benchmark Battle 2026, Any%
a_matsuda
3
3.2k
Featured
See All Featured
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.3k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
My Coaching Mixtape
mlcsv
0
380
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
Large-scale JavaScript Application Architecture
addyosmani
516
110k
What the history of the web can teach us about the future of AI
inesmontani
PRO
3
800
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
350
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
480
Measuring & Analyzing Core Web Vitals
bluesmoon
9
1.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