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
Jetpack Composeでアプリを開発して遭遇した問題
Search
Nabe
February 22, 2022
Programming
750
0
Share
Jetpack Composeでアプリを開発して遭遇した問題
2022/02/22
Mobile勉強会 Wantedly × チームラボ #4
https://connpass.com/event/237606/
Nabe
February 22, 2022
More Decks by Nabe
See All by Nabe
カクヨムAndroidアプリのリブート
numeroanddev
0
620
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
580
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
980
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.6k
Other Decks in Programming
See All in Programming
의존성 주입과 모듈화
fornewid
0
130
Go_College_最終発表資料__外部公開用_.pdf
xe_pc23
0
180
10 Tips of AWS ~Gen AI on AWS~
licux
5
310
Offline should be the norm: building local-first apps with CRDTs & Kotlin Multiplatform
renaudmathieu
0
190
テレメトリーシグナルが導くパフォーマンス最適化 / Performance Optimization Driven by Telemetry Signals
seike460
PRO
2
220
Java 21/25 Virtual Threads 소개
debop
0
340
RSAが破られる前に知っておきたい 耐量子計算機暗号(PQC)入門 / Intro to PQC: Preparing for the Post-RSA Era
mackey0225
3
130
Coding at the Speed of Thought: The New Era of Symfony Docker
dunglas
0
4.8k
事業会社でのセキュリティ長期インターンについて
masachikaura
0
250
Feature Toggle は捨てやすく使おう
gennei
0
560
「話せることがない」を乗り越える 〜日常業務から登壇テーマをつくる思考法〜
shoheimitani
4
720
我々はなぜ「層」を分けるのか〜「関心の分離」と「抽象化」で手に入れる変更に強いシンプルな設計〜 #phperkaigi / PHPerKaigi 2026
shogogg
2
930
Featured
See All Featured
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4k
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1k
Designing for Timeless Needs
cassininazir
0
190
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
670
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.2k
Scaling GitHub
holman
464
140k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
110
Ruling the World: When Life Gets Gamed
codingconduct
0
190
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Statistics for Hackers
jakevdp
799
230k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
190
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Transcript
.PCJMFษڧձ8BOUFEMZYνʔϜϥϘ ,B[VLJ8BUBOBCF +FUQBDL$PNQPTFͰΞϓϦΛ ։ൃͯ͠ૺ۰ͨ͠
1SPGJMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w גࣜձࣾͯͳ w
"OESPJEJ04BQQMJDBUJPOFOHJOFFS
'VMM+FUQBDL$PNQPTFͰ։ൃͨ͠ΞϓϦ ΛࡢϦϦʔε͠·ͨ͠
IUUQTIBUFOBDPSQKQQSFTTSFMFBTFFOUSZ
IUUQTEFWFMPQFSIBUFOBTUB ff DPNFOUSZ
ࠓ͢͜ͱ w +FUQBDL$PNQPTFͰΞϓϦΛ։ൃͯ͠ૺ۰ͨ͠ͱͲ͏ରॲͨ͠ͷ͔ w ϨΠΞταΠζऔಘͰύϑΥʔϚϯεԼ w ด͡ΒΕͳ͍%SPQEPXO.FOV w άϦου͔͠දࣔͰ͖ͳ͍-B[Z(SJE w
ߋ৽Ͱ͖ͳ͍"DDPNQBOJTU1BHFS
ϨΠΞταΠζऔಘͰύϑΥʔϚϯε Լٙ
ϨΠΞταΠζऔಘͰύϑΥʔϚϯεԼٙ ֓ཁ w "OESPJE7JFXͰϨΠΞτͷαΠζΛऔΖ͏ͱ͢Δͱ 0O(MPCBM-BZPVU-JTUFOFSͷλΠϛϯάͰऔΔͱ͍͏ํ๏͕͋Δ w $PNQPTFͰ.PEJ fi FSPO4J[F$IBOHFEͰಉ͡Α͏ͳ͜ͱ͕Ͱ͖Δ w
"OESPJE7JFXͱಉ͡Α͏ͳ࣮Λ͢ΔͱඞཁҎ্ʹ3FDPNQPTF͞ΕΔΑ ͏ʹͳͬͨ w ʹݟ͑ͯύϑΥʔϚϯε͕མ͍ͪͯͨΘ͚Ͱͳ͍
ϨΠΞταΠζऔಘͰύϑΥʔϚϯεԼٙ ֓ཁ
ϨΠΞταΠζऔಘͰύϑΥʔϚϯεԼٙ ݪҼ w $PNQPTJUJPOˠ-BZPVUˠ%SBXJOHͱ͍ͬͨྲྀΕͰ$PNQPTFϨΠΞτ ͞ΕΔ w .PEJ fi FSPO4J[F$IBOHFEͰΛड͚औΔͷ-BZPVUͷλΠϛϯάͰɺड ͚औͬͨΛผͷ$PNQPTBCMFʹ͢ͱ%SBXJOH͕͞Εͨޙʹ
3FDPNQPTF͞Εͯ$PNQPTJUJPO͔Β࠶ϨΠΞτ͞ΕΔ w ͜Ε͕ෳͷՕॴͰ࣮͞Ε͍ͯͨΓར༻͞Ε͍ͯΔͱύϑΥʔϚϯεͷ Լʹͭͳ͕Δ
ϨΠΞταΠζऔಘͰύϑΥʔϚϯεԼٙ ରॲ w ࣗϨΠΞτͷαΠζΛऔΔ͚ͩͳΒ#PY8JUI$POTUSBJOUΛ͏ w ϨΠΞτͷαΠζ͕ඞཁʹͳΔෳࡶͳϨΠΞτͷ߹ΧελϜϨΠΞ τΛ࡞Δ
ด͡ΒΕͳ͍%SPQEPXO.FOV
ด͡ΒΕͳ͍%SPQEPXO.FOV ֓ཁ w -JHIU5IFNF%BSL5IFNFͷΓସ͑Λ%SPQEPXO.FOVͷ $PNQPTBCMFΛ࣮ͬͯͨ͠ w ςʔϚ͕ΓସΘΔͱ%SPQEPXO.FOV͕Γଓ͚ͨ
ด͡ΒΕͳ͍%SPQEPXO.FOV ֓ཁ
ด͡ΒΕͳ͍%SPQEPXO.FOV ݪҼ w $PNQPTFͷ%SPQEPXO.FOV෦Ͱ8JOEPXʹ7JFXΛஔ͍ͯද͍ࣔͤͯ͞Δ w %SPQEPXO.FOV͕ด͡ΒΕΔ࣌8JOEPX͔Β7JFXΛऔΓআ͘ॲཧΛݺΜͰ͍ Δ w ͜͜ͰςʔϚΓସ͑࣌ʹSFDSFBUF͕෦ͰߦΘΕΔ w
8JOEPX͔Β7JFXΛऔΓআ͘ॲཧ͕ऴΘΔલʹSFDSFBUF͕ߦΘΕͯ %SPQEPXO.FOV͕ͬͯ͠·͏ w %SPQEPXO.FOVͷঢ়ଶͰ͋ΔFYQBOEFEGBMTF͕ͩ෦ॲཧ໋͕ྩతͰ͋Δ ͨΊζϨ͕ى͖Δ
ด͡ΒΕͳ͍%SPQEPXO.FOV ରॲ w ςʔϚΓସ͑ͷॲཧͷલʹEFMBZΛೖΕͯ%SPQEPXO.FOV͕ด͡ΒΕͯ ͍ΔͰ͋Ζ͏λΠϛϯάͰSFDSFBUF͕ߦΘΕΔΑ͏λΠϛϯάΛΒͤ·͠ ͨ
άϦου͔͠දࣔͰ͖ͳ͍-B[Z(SJE
άϦου͔͠දࣔͰ͖ͳ͍-B[Z(SJE ରॲ w -B[Z7FSUJDBM(SJE-B[Z)PSJ[POUBM(SJEͰΞΠςϜͷ4QBO͕ઃఆͰ͖ͳ ͍ w άϦουͷؒʹԣ෯͍ͬͺ͍ͷηΫγϣϯΛදࣔͰ͖ͳ͍
άϦου͔͠දࣔͰ͖ͳ͍-B[Z(SJE ରॲ w -B[Z$PMVNO-B[Z3PXͷΞΠςϜͷϨΠΞτΛͯ͠ηΫγϣϯͱά ϦουΛࠞͥͯදࣔͰ͖ΔΑ͏ʹͨ͠ w BMQIBͰ(SJE4QBO*UFN͕Ճ͞Εͯ4QBOͷઃఆ͕Ͱ͖ΔΑ͏ʹ ͳͬͨ w BMQIB࣌ͰࢥͬͨΑ͏ʹ4QBOͷڍಈ͕ಈ͍ͯ͘Εͳ͍ͷͰࠓޙʹ
ظ
ߋ৽Ͱ͖ͳ͍"DDPNQBOJTU1BHFS
ߋ৽Ͱ͖ͳ͍"DDPNQBOJTU1BHFS ֓ཁ w "DDPNQBOJTU1BHFSͰ෦࣮͕ΧελϜϨΠΞτ͔Β -B[Z$PMVNO-B[Z3PXʹมΘͬͨ w ͦͷӨڹͰ"1*େ͖͘มΘͬͨ w P ff
TFUɺFOBCMF%SBHɺແݶϧʔϓͷ"1*আ w Ҡߦޙͷແݶϧʔϓ1BHFSͷ࣮Ͱ5BCͷΠϯδέʔλͷ࿈ܞ͕Ͱ͖ͳ ͍
ߋ৽Ͱ͖ͳ͍"DDPNQBOJTU1BHFS ରॲ w P ff TFUͷΛݩʑେ͖͘ઃఆ͍ͯͨ͠Θ͚Ͱͳ͍ͷͰɺ-B[ZܥͷڍಈͰେ͖ͳ͕ࠩͳ͔ͬͨ w FOBCMF%SBHͷΘΓʹ-B[ZܥͷεΫϩʔϧྔΛʹ͢Δ.PEJ fi FSΛ࣮ͯͦ͠ΕΛར༻ͨ͠
w Ͱ-B[ZܥʹVTFS4DSPMM&OBCMFEͷΦϓγϣϯ͕૿͑ͨͷͰ͜Ε͕1BHFSͰ͑Δ Α͏ʹͳΔ͔
ߋ৽Ͱ͖ͳ͍"DDPNQBOJTU1BHFS ରॲ w ແݶϧʔϓ1BHFSͷαϯϓϧίʔυΛࢀߟʹ࣮ w 5BCͷΠϯδέʔλΛແݶϧʔϓͰ͑ΔΑ͏ʹίʔυΛ࣮ w ͦ͏͢ΔͱΠϯδέʔλͷΞχϝʔγϣϯ͕͑ͳ͍͕ग़ͯ͘ΔͷͰ࣍ͷ ͲͪΒ͔Ͱճආ͢Δඞཁ͕͋ͬͨ w
ແݶϧʔϓΛΊͯ5BCͷΠϯδέʔλͷΞχϝʔγϣϯΛ͢ w 5BCͷΠϯδέʔλͷΞχϝʔγϣϯΛఘΊͯແݶϧʔϓΛ͢ w νʔϜͰ͠߹ͬͯޙऀͰҠߦΛਐΊͨ
·ͱΊ w ৽͍ٕ͠ज़ͱ͍͏͜ͱ͋Γɺෆ͍ͯ͠Δػೳେ͖ͳ"1*ͷมߋΑ͘ ͋ͬͨ w ৭ʑʹૺ۰ͨ͠ͷͷ+FUQBDL$PNQPTFΛ༻͍ͨ։ൃշద w +FUQBDL$PNQPTFͷॊೈͳ"1*ͱએݴత6*ͱ͍͏ঢ়ଶཧ͔Βͷղ์
એ w ͯͳͰJ04"OESPJEΞϓϦΤϯδχΞΛ࠾༻͍ͯ͠·͢ʂ w ΧδϡΞϧͳ໘ஊͰ͖ΔͷͰͥͻؾܰʹ͓͕͚͍ͩ͘͞ʂ https://open.talentio.com/r/1/c/hatena/pages/28838
ࢀߟ w ϨΠΞταΠζऔಘͰύϑΥʔϚϯεԼٙ w IUUQTEFWFMPQFSBOESPJEDPNKFUQBDLDPNQPTFQIBTFTSFDPNQ MPPQ w άϦου͔͠දࣔͰ͖ͳ͍-B[Z(SJE w IUUQTBOESPJESFWJFXHPPHMFTPVSDFDPNDQMBUGPSNGSBNFXPSLT
TVQQPSU w ߋ৽Ͱ͖ͳ͍"DDPNQBOJTU1BHFS w IUUQTHJUIVCDPNHPPHMFBDDPNQBOJTU w IUUQTBOESPJESFWJFXHPPHMFTPVSDFDPNDQMBUGPSNGSBNFXPSLT TVQQPSU
5IBOLZPV