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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Nabe
February 19, 2021
Programming
1
980
既存の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
610
GraphicsLayerのBitmap作成
numeroanddev
0
230
GraphQLとGigaViewer for Apps
numeroanddev
4
4.5k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
760
Material 3で Material 2ぽい見た目にする
numeroanddev
2
650
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
480
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
570
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
980
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
750
Other Decks in Programming
See All in Programming
今からFlash開発できるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)
arkw
0
150
車輪の再発明をしよう!PHP で実装して学ぶ、Web サーバーの仕組みと HTTP の正体
h1r0
2
410
AI時代のシステム設計:ドメインモデルで変更しやすさを守る設計戦略
masuda220
PRO
6
1.1k
CS教育のDX AIによる育成の効率化
niftycorp
PRO
0
170
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
590
How to stabilize UI tests using XCTest
akkeylab
0
140
Claude Codeログ基盤の構築
giginet
PRO
7
3.7k
Smarter Angular mit Transformers.js & Prompt API
christianliebel
PRO
1
100
飯MCP
yusukebe
0
380
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
240
20260315 AWSなんもわからん🥲
chiilog
2
180
Everything Claude Code OSS詳細 — 5層構造の中身と導入方法
targe
0
150
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
190
Crafting Experiences
bethany
1
94
The browser strikes back
jonoalderson
0
850
RailsConf 2023
tenderlove
30
1.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
980
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
330
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
120
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
We Have a Design System, Now What?
morganepeng
55
8k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
54k
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