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アプリのリブート
Search
Nabe
June 08, 2025
Programming
0
89
カクヨムAndroidアプリのリブート
Hatena Engineer Seminar #33 カクヨムアプリ編
https://hatena.connpass.com/event/355579/
Nabe
June 08, 2025
Tweet
Share
More Decks by Nabe
See All by Nabe
GraphicsLayerのBitmap作成
numeroanddev
0
160
GraphQLとGigaViewer for Apps
numeroanddev
4
3.7k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
670
Material 3で Material 2ぽい見た目にする
numeroanddev
2
570
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
410
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
510
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
900
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
700
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.5k
Other Decks in Programming
See All in Programming
Babylon.js 8.0のアプデ情報を 軽率にキャッチアップ / catch-up-babylonjs-8
drumath2237
0
120
Passkeys for Java Developers
ynojima
2
640
TypeScript エンジニアが Android 開発の世界に飛び込んだ話
yuisakamoto
6
990
AI Coding Agent Enablement in TypeScript
yukukotani
17
7.3k
List Unfolding - 'unfold' as the Computational Dual of 'fold', and how 'unfold' relates to 'iterate'"
philipschwarz
PRO
0
140
AIエージェントによるテストフレームワーク Arbigent
takahirom
0
290
バリデーションライブラリ徹底比較
nayuta999999
1
480
型付け力を強化するための Hoogle のすゝめ / Boosting Your Type Mastery with Hoogle
guvalif
1
240
Devinで実践する!AIエージェントと協働する開発組織の作り方
masahiro_nishimi
6
2.6k
What Spring Developers Should Know About Jakarta EE
ivargrimstad
1
640
Javaのルールをねじ曲げろ!禁断の操作とその代償から学ぶメタプログラミング入門 / A Guide to Metaprogramming: Lessons from Forbidden Techniques and Their Price
nrslib
2
1.3k
漸進。
ssssota
0
1.3k
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
34
2.3k
GraphQLとの向き合い方2022年版
quramy
46
14k
Automating Front-end Workflow
addyosmani
1370
200k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Cost Of JavaScript in 2023
addyosmani
49
8.2k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
750
VelocityConf: Rendering Performance Case Studies
addyosmani
329
24k
The World Runs on Bad Software
bkeepers
PRO
68
11k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Typedesign – Prime Four
hannesfritz
41
2.6k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Fireside Chat
paigeccino
37
3.5k
Transcript
)BUFOB&OHJOFFS4FNJOBS ,B[VLJ8BUBOBCF ΧΫϤϜ"OESPJEΞϓϦͷϦϒʔτ
1SPGJMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w גࣜձࣾͯͳ w
"OESPJEBQQMJDBUJPOFOHJOFFS w +FUQBDL$PNQPTF w .BUFSJBM%FTJHO
ͯͳͷϊϕϧνʔϜͰ ΧΫϤϜͷΞϓϦΛੵۃతʹ։ൃ͍ͯ͠·͢
ΧΫϤϜͱ w גࣜձࣾ,"%0,"8"ͱڞಉ։ ൃ͍ͯ͠Δ8FCখઆαΠτ w ༷ʑͳখઆΛʮॻ͚ΔɺಡΊ Δɺ͑ΒΕΔʯ w 8FCʴJ04"OESPJEΞϓϦ IUUQTLBLVZPNVKQ
·ͰΞϓϦͷ։ൃʹ͋·ΓϦιʔεΛ ׂ͘͜ͱ͕Ͱ͖͍ͯ·ͤΜͰͨ͠
ੵۃ։ൃͰ͖͍ͯͳ͔ͬͨഎܠ w ΞϓϦϦϦʔε͔Β͠Β͘࡞ऀʹ͚ͨػೳ։ൃ͕ଟ͔ͬͨ w ΞϓϦಡऀ͚ w খઆΛॻ͘ɺಡΉମݧΛఏڙ͢Δ্ͰɺόοΫΤϯυͰͷେ͖ͳ։ൃ͕ଟ͔ ͬͨ w ϩΠϠϧςΟϓϩάϥϜɿ࡞Ո͚ͷऩӹؐݩϓϩάϥϜ
w αϙʔλʔζύεϙʔτɿಡऀ͕༗ྉͰ࡞ՈʹΪϑτΛଃΔ͜ͱ͕Ͱ͖Δ w ΧΫϤϜωΫετɿϓϩ࡞ՈʹΑΔΦϦδφϧ࿈ࡌ
લ·Ͱͷ։ൃମ੍ w ΧΫϤϜͷΞϓϦΛ։ൃ͍ͯ͠ΔϊϕϧνʔϜʹઐଐͷωΠςΟϒΞϓϦΤ ϯδχΞ͕͍ͳ͔ͬͨ w ΞϓϦͰରԠ͍ͯͨ͠ͷ w 8FCଆͷେܕػೳͷΞϓϦରԠ w ຖͷ4%,ߋ৽
w ॏେͳόάमਖ਼
͜Ε·Ͱͷ։ൃମ੍ʹ͓͚Δ՝ w ࠊΛਾ͑ͨ։ൃ͕Ͱ͖͍ͯͳ͍ w ࣾଞνʔϜͷঢ়گʹࠨӈ͞ΕΔ w ॏཁͰͳ͍όάमਖ਼ w ڍಈͷվળ w
ίʔυͷϝϯςφϯε
ωΠςΟϒΞϓϦΤϯδχΞ͕ J04ɾ"OESPJEͦΕͧΕਓͣͭνʔϜઐଐʹ🎉
͜Ε·ͰҎ্ʹੵۃతʹ։ൃΛ͢Δମ੍🚀
͜Ε·ͰҎ্ʹੵۃతͳ։ൃ w ੵۃతͳػೳ։ൃͱִि͝ͱͷఆظϦϦʔε w ͷϦϦʔεճ w J04ɿճ w "OESPJEɿճ w
ख͕ճ͍ͬͯͳ͔ͬͨόάमਖ਼ w ڍಈͷվળ w ϨΨγʔͳίʔυͷվળ w ৽͍ٕ͠ज़ͷಋೖ
w Ӿཡཤྺͷআػೳ w ϏϡʔϫʔͷจࣈαΠζΛஈ֊ w 5IFNFE*DPOରԠ w ΟδΣοτ w ෆ۩߹ɾΫϥογϡमਖ਼
͜Ε·ͰҎ্ʹੵۃతͳ։ൃ ओͳϦϦʔε IUUQTLBLVZPNVKQJOGPFOUSZ
w ϏϡʔϫʔͷػೳՃ w ࣍ͰͷΤϐιʔυͷطಡදࣔ w ಡྃޙը໘ͷ͓͢͢ΊػೳڧԽ w ϗʔϜը໘ͷҰ৽ w Ϣʔβʹ߹Θ͓ͤͨ͢͢Ί࡞ͷ
දࣔ w ϥϯΩϯάը໘ͷ৽ઃ ͜Ε·ͰҎ্ʹੵۃతͳ։ൃ ओͳϦϦʔε IUUQTLBLVZPNVKQJOGPFOUSZIPNF@SFOFXBM
ΧΫϤϜ"OESPJEΞϓϦΛߏ͍ٕͯͨ͠ज़
w ࠷ॳͷϦϦʔε͕ w "OESPJE͕࠷৽ w "OESPJE4UVEJP w ,PUMJO ΧΫϤϜ"OESPJEΞϓϦΛߏ͍ٕͯͨ͠ज़ ΧΫϤϜ"OESPJEΞϓϦͱ࣌ͷपลٕज़
IUUQTLBLVZPNVKQJOGPFOUSZBQQSFMFBTFE
ΧΫϤϜ"OESPJEΞϓϦΛߏ͍ٕͯͨ͠ज़ w େ෦͕+BWBͰҰ෦͕,PUMJO w %BUB#JOEJOH w /P+FUQBDL$PNQPTF w 3Y+BWBͱ3Y-JGFDZDMF w
%BHHFS"OESPJE4VQQPSU w खಈͰͷը໘ભҠ w 3FBMN w /PBSDIJUFDUVSF w Ұ෦3FBDU/BUJWF
ػೳ։ൃͱฒߦͯ͠গͣͭ͠ݱతʹ͍ͯ͘͠
গͣͭ͠ݱతʹ͍ͯ͘͠ ґଘϥΠϒϥϦͷߋ৽ w ,PUMJO w %BUB#JOEJOHͱ3FBMNͰLBQU͕ඞཁͳͷͰLBQUVTFLUSVF w +FUQBDLपΓͷߋ৽ͱมߋͷै w ͦͷଞ্͛ΕΔͷશͯ࠷৽ʹߋ৽͢Δ
গͣͭ͠ݱతʹ͍ͯ͘͠ )JMUҠߦ w ීஈͷ։ൃͰ%*पΓΛ؍ w )JMUҠߦͰࠔΓͦ͏ͳՕॴΛͲ͏ஔ͖͑Δ͔ࣄલʹݕূ w ҰؾʹҠߦͯ͠೦ೖΓʹಈ࡞֬ೝ
গͣͭ͠ݱతʹ͍ͯ͘͠ %BUB#JOEJOH͔Βͷ٫ w ϑΝΠϧ͋ͬͨͷΛগͣͭ͠7JFX#JOEJOHʹஔ͖͑ w πʔϧΛΘͣʹख࡞ۀͰஔ͖͑ w ڧ͔͚ͯશʹ٫
গͣͭ͠ݱతʹ͍ͯ͘͠ ϚϧνϞδϡʔϧ w ͻͱ·ͣઌʹ3FBMNΛϞδϡʔϧʹ w 3FBMNಛʹίʔυੜͷؔͰ ϞδϡʔϧʹΓग़͢ํ͕Ϗϧυ ʹԸܙ͕͋Δ w
ͦͷଞڞ௨ͷॲཧΛϞδϡʔϧʹ Γग़ͨ͠ΓɺঃʑʹϞδϡʔϧʹ ͍ͯ͠Δ్த
গͣͭ͠ݱతʹ͍ͯ͘͠ ͦͷଞ w +FUQBDL$PNQPTFͷಋೖ w ৽نը໘σβΠϯมߋ͕͋ΔՕॴ͔Β w "OESPJE7JFXͱڞଘ͢ΔܗͰແཧʹஔ͖͑͠ͳ͍ w ը໘ભҠΛ+FUQBDL/BWJHBUJPOʹஔ͖͑
w طଘͷը໘ͱભҠΛ/BW(SBQIʹఆٛ w ҾपΓΛ/BWJHBUJPOܦ༝Ͱऔಘ͢ΔΑ͏ʹมߋ w ը໘ભҠΛ/BWJHBUJPOʹஔ͖͑
ΧΫϤϜΞϓϦͱ3FBDU/BUJWF
ΧΫϤϜΞϓϦͱ3FBDU/BUJWF w ΧΫϤϜͷΞϓϦͰ෦తʹ3FBDU/BUJWFΛ༻͍ͯ͠·ͨ͠ w IUUQTESPJELBJHJKQUJNFUBCMF
ΧΫϤϜΞϓϦͱ3FBDU/BUJWF IUUQTTQFBLFSEFDLDPNUBLVKJHSBQIRMBDFBCCDDE TMJEF
ΧΫϤϜΞϓϦͱ3FBDU/BUJWF ಋೖޙͷ՝ w ։ൃʹϦιʔεׂ͕͚͍ͯͳ͔ͬͨͨΊʹ3FBDU/BUJWFͷߋ৽͕ͬͯ͠· ͍ɺ։ൃͷϒϩοΩϯάʹͳ͍ͬͯͨ w ։ൃڥ (SBEMF"OESPJE(SBEMF1MVHJO9DPEF ͷߋ৽͕3FBDU /BUJWFͰϒϩοΩϯά͞ΕΔ
w 3FBDU/BUJWFͰ༻͍ͯ͠Δ/PEF"QPMMPͷߋ৽Ͱ͖͍ͯͳ͍ w 3FBDU/BUJWFͦͷͷͷߋ৽ίετॏ͍ w &YQP͍ͬͯͳ͍
ΧΫϤϜΞϓϦͱ3FBDU/BUJWF ٫ܭը w 3FBDU/BUJWFΛ٫ͯ͠ωΠςΟϒ͚ͩʹ͢Δ͜ͱʹ w νʔϜମ੍ͷมԽ w ઐଐͷωΠςΟϒΞϓϦΤϯδχΞ͕͍Δ w ܧଓతʹ։ൃ͕ߦΘΕΔ
w ϦχϡʔΞϧͷܭը w 3FBDU/BUJWFͷ༻Օॴʹมߋ͕ೖΔܭը͕͋ͬͨ
ͱ͍͑·ͩ·ͩ՝͋Δ
ࠓޙͷ՝ w ݱతͳڥʹ͍͖ͭͭͭ͋Δ͠ɺ։ൃ͍͕͢͠Ͱ͖ͭͭ͋Δ ͕ɺ·ͩ·ͩ՝ଟ͍ w 3FBMN3Y+BWB w +BWB w ςετपΓͷڥඋ
ҰॹʹΧΫϤϜͷΞϓϦΛΑ͍ͯ͘͘͠ ؒΛืू͍ͯ͠·͢ʂ
5IBOLZPV