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
540
カクヨム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
200
GraphQLとGigaViewer for Apps
numeroanddev
4
4.2k
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
710
Material 3で Material 2ぽい見た目にする
numeroanddev
2
610
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
440
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
550
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
930
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
720
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.5k
Other Decks in Programming
See All in Programming
PyCon mini 東海 2025「個人ではじめるマルチAIエージェント入門 〜LangChain × LangGraphでアイデアを形にするステップ〜」
komofr
3
890
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
450
AI POSにおけるLLM Observability基盤の導入 ― サイバーエージェントDXインターン成果報告
hekuchan
0
450
組織もソフトウェアも難しく考えない、もっとシンプルな考え方で設計する #phpconfuk
o0h
PRO
10
3.8k
What's New in Web AI?
christianliebel
PRO
0
120
「10分以内に機能を消せる状態」 の実現のためにやっていること
togishima
1
260
CSC509 Lecture 08
javiergs
PRO
0
280
ネストしたdata classの面倒な更新にさようなら!Lensを作って理解するArrowのOpticsの世界
shiita0903
1
290
予防に勝る防御なし(2025年版) - 堅牢なコードを導く様々な設計のヒント / Growing Reliable Code PHP Conference Fukuoka 2025
twada
PRO
33
11k
モテるデスク環境
mozumasu
3
1.4k
複数チーム並行開発下でのコード移行アプローチ ~手動 Codemod から「生成AI 活用」への進化
andpad
0
100
なぜ強調表示できず ** が表示されるのか — Perlで始まったMarkdownの歴史と日本語文書における課題
kwahiro
4
1.6k
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
Making Projects Easy
brettharned
120
6.4k
Statistics for Hackers
jakevdp
799
220k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Automating Front-end Workflow
addyosmani
1371
200k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.5k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The Cost Of JavaScript in 2023
addyosmani
55
9.2k
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