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
with_Android版における今までのアーキテクチャとこれから.pdf
Search
kazakago
January 29, 2020
Programming
2
310
with_Android版における今までのアーキテクチャとこれから.pdf
Matching Dev Meetup #5 発表資料
https://matching-dev-group.connpass.com/event/158568/
kazakago
January 29, 2020
Tweet
Share
More Decks by kazakago
See All by kazakago
OpenSTFによる検証端末管理とその先の一手
kazakago
0
290
中規模以上のアプリ開発におけるCIレシピとリリースフロー戦略
kazakago
6
9.2k
Androidアプリにおける複雑な画面と向き合うための設計戦略
kazakago
1
310
Annotation Processingを 駆使したコード生成で ボイラープレートコードを駆逐しよう!
kazakago
2
7.2k
お う ち ハ ッ ク
kazakago
0
210
モバイルアプリ開発におけるブランチ運用でこの先生きのこるには
kazakago
0
130
まだJavaで消耗してるの?Kotlinのすすめ
kazakago
0
190
Androidでユーザーの大切なデータを預かる
kazakago
0
1k
Other Decks in Programming
See All in Programming
FlutterKaigi 2025 システム裏側
yumnumm
0
1.2k
OSS開発者の憂鬱
yusukebe
13
11k
Phronetic Team with AI - Agile Japan 2025 closing
hiranabe
2
680
GraalVM Native Image トラブルシューティング機能の最新状況(2025年版)
ntt_dsol_java
0
170
Honoを技術選定したAI要件定義プラットフォームAcsimでの意思決定
codenote
0
270
乱雑なコードの整理から学ぶ設計の初歩
masuda220
PRO
32
15k
How Software Deployment tools have changed in the past 20 years
geshan
0
10k
Flutterチームから作る組織の越境文化
findy_eventslides
0
600
競馬で学ぶ機械学習の基本と実践 / Machine Learning with Horse Racing
shoheimitani
14
14k
Building AI Agents with TypeScript #TSKaigiHokuriku
izumin5210
5
1k
connect-python: convenient protobuf RPC for Python
anuraaga
0
280
関数の挙動書き換える
takatofukui
4
750
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
The World Runs on Bad Software
bkeepers
PRO
72
12k
Typedesign – Prime Four
hannesfritz
42
2.9k
The Invisible Side of Design
smashingmag
302
51k
Documentation Writing (for coders)
carmenintech
76
5.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
53
Thoughts on Productivity
jonyablonski
73
4.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Being A Developer After 40
akosma
91
590k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Transcript
XJUI"OESPJE൛ʹ͓͚Δ ࠓ·ͰͷΞʔΩςΫνϟͱ͜Ε͔Β ాଜݠհ!,B[B,BHP /*4-5% JMMVTUFECZݪ
ࣗݾհ wాଜݠհ!,B[B,BHP wגࣜձࣾΠάχε wXJUI"OESPJE൛ΤϯδχΞ wJ04ͬͯΔΑ
None
XJUIͱ͍͏ࠗ׆αʔϏεͷ "OESPJE൛։ൃอकΛ ୲ͯ͠΄͍͠Μ͚ͩͲ
ͪͳΈʹ
લͷ୲ΤϯδχΞɺ ਖ਼ࣾһશһ͍ͳ͘ͳΔ͔Β ͋ͱΑΖ͘͠
w6*ΞʔΩςΫνϟɿ.71 wγεςϜΞʔΩςΫνϟɿ$MFBO"SDIJUFDUVSF w+BWB wγϯάϧϞδϡʔϧ wʮಥ؏Ͱ࡞͔ͬͨΒ͙ͪΌ͙ͪΌͰ͢·Μͳʯʢҙ༁ʣ Ҿ͖ܧ͗࣌ͷલ୲ऀͷ
+BWB,PUMJOͷஔ͖͑
+BWB,PUMJOͷஔ͖͑ ͜Ε͕ͳ͔ͳ͔ਐ·ͳ͍
+BWB,PUMJOͷஔ͖͑
+BWB,PUMJOͷஔ͖͑ ,PUMJOίϯόʔτΛ͍ͯ͘͠தͰ /PO/VMMͳϑΟʔϧυʹ+BWBଆ͔ΒOVMMΛ ͞Εͯ͠·͍ෆ۩߹͕ଟൃ
+BWB,PUMJOͷஔ͖͑ IUUQTTQFBLFSEFDLDPNQBSBZBKLLPOCBUBXPLBTVUBNBJ[VTVSV !QBSBZB,PUMJO'FTU
+BWB,PUMJOͷஔ͖͑ ݱࡏऑ͕,PUMJOԽ
ϚϧνϞδϡʔϧԽ
ϚϧνϞδϡʔϧԽ
7JFX 1SFTFOUFS 6TF$BTF ϚϧνϞδϡʔϧԽ &OUJUZ Ϣʔβʔ 3 FQPTJUPSZ %#
"1* αʔόʔ ΞϓϦ%# ϓϨθϯςʔγϣϯ ϨΠϠʔ υϝΠϯϨΠϠʔ σʔλϨΠϠʔ
ϚϧνϞδϡʔϧԽ ॳڊେͳγϯάϧϞδϡʔϧͩͬͨ BQQϞδϡʔϧ
BQQϞδϡʔϧ ϚϧνϞδϡʔϧԽ MFHBDZϞδϡʔϧ BQQϞδϡʔϧ QSFTFOUBUJPO Ϟδϡʔϧ EPNBJO Ϟδϡʔϧ EBUB Ϟδϡʔϧ
MFHBDZϞδϡʔϧ͔Β ใΛཧͭͭ͠ɺ ֤ϞδϡʔϧҠಈ͍ͤͯ͘͞
υϝΠϯϨΠϠʔͷׂͷݟ͠
7JFX 1SFTFOUFS 6TF$BTF υϝΠϯϨΠϠʔͷׂͷݟ͠ &OUJUZ Ϣʔβʔ 3 FQPTJUPSZ %#
"1* αʔόʔ ॳ%*1ݪଇ͕कΒΕ͓ͯΒͣ υϝΠϯ͕͞Ε͍ͯͳ͍ ঢ়ଶͩͬͨ ґ ଘ ؔ ΞϓϦ%#
υϝΠϯϨΠϠʔͷׂͷݟ͠ 3 FQPTJUPSZ %# "1* ,PJOʹΑΔ%*πʔϧͷಋೖ IUUQTJOTFSULPJOJP
7JFX 1SFTFOUFS 6TF$BTF υϝΠϯϨΠϠʔͷׂͷݟ͠ &OUJUZ Ϣʔβʔ 3 FQPTJUPSZ %#
"1* αʔόʔ υϝΠϯִ͕͞Εɺ "OESPJE߹͔Βղ์͞ΕͨͨΊ ΑΓϏδωεϩδοΫ ूதͰ͖ΔΑ͏ʹͳͬͨ ґ ଘ ؔ ґ ଘ ؔ ΞϓϦ%# υϝΠϯϨΠϠʔ ϐϡΞͳ+BWBϞδϡʔϧมߋ
ϓϨθϯςʔγϣϯϨΠϠʔͷಛԽ
7JFX 1SFTFOUFS 6TF$BTF ϓϨθϯςʔγϣϯϨΠϠʔͷಛԽ &OUJUZ Ϣʔβʔ 3 FQPTJUPSZ %#
"1* αʔόʔ ॳΩϟογϡ͕6*ଆʹ͋Γɺ υϝΠϯ͕ࣗϏδωεϩδοΫΛ ղܾ͢Δ͜ͱ͕Ͱ͖ͣ ϩδοΫ͕ϓϨθϯςʔγϣϯ ϨΠϠʔʹ࿙Εͯ͠·͍ͬͯͨ ϑΟʔϧυม ʹΑΔ ϝϞϦΩϟογϡ ॲ ཧ ͷ ྲྀ Ε ॲ ཧ ͷ ྲྀ Ε ॲཧͷྲྀΕ ΞϓϦ%#
ϓϨθϯςʔγϣϯϨΠϠʔͷಛԽ 3 FQPTJUPSZ %# "1* ΈΜͳେ͖ͳ ঢ়ଶཧपΓͷʂ
7JFX 1SFTFOUFS 6TF$BTF ϓϨθϯςʔγϣϯϨΠϠʔͷಛԽ &OUJUZ Ϣʔβʔ 3 FQPTJUPSZ %#
"1* αʔόʔ ॲ ཧ ͷ ྲྀ Ε ॲ ཧ ͷ ྲྀ Ε ॲཧͷྲྀΕ ΞϓϦ ϝϞϦΩϟογϡ ΞϓϦ%# ॲཧͷྲྀΕ ϑΟʔϧυม ʹΑΔ ϝϞϦΩϟογϡ υϝΠϯ͕ϏδωεϩδοΫͷ ղܾʹඞཁͳͯ͢ͷใ ΞΫηεͰ͖ΔΑ͏ʹͳͬͨ͜ͱͰ ϓϨθϯςʔγϣϯϨΠϠʔ͕ 6*ͷ੍ޚʹಛԽ
.71.77.ΞʔΩςΫνϟͷҠߦ
.71.77.ΞʔΩςΫνϟͷҠߦ 3 FQPTJUPSZ %# υϝΠϯϨΠϠʔ ϓϨθϯςʔγϣϯϨΠϠʔ "DUJWJUZ 7JFX 1SFTFOUFS
"DUJWJUZ JOUFSGBDF 1SFTFOUFS JOUFSGBDF ॳ1SFTFOUFSʹ"DUJWJUZͷΠϯελϯε͕ ͞Ε͓ͯΓը໘ભҠͳͲ͕ߦΘΕ͍ͯͨ "DUJWJUZଆ͕7JFXͷ੍ޚʹूதͰ͖͓ͯΒͣ 7ͱ1͕͓ޓ͍ʹґଘͨ͠ը໘͕ଟʑ͋ͬͨ ޓ͍ʹґଘʂ
.71.77.ΞʔΩςΫνϟͷҠߦ 7JFXͱ1SFTFOUFSͷ ͕͔ͬ͠ΓผΕͯͳ͍ͷ͕
.71.77.ΞʔΩςΫνϟͷҠߦ 1SFTFOUFSΛ7JFXؒͰڞ༗͢ΔΈ ͳ͍ͷͰ'BU"DUJWJUZʹͳΓ͍͢
.71.77.ΞʔΩςΫνϟͷҠߦ 3 FQPTJUPSZ %# υϝΠϯϨΠϠʔ ϓϨθϯςʔγϣϯϨΠϠʔ "DUJWJUZ 7JFX 7JFX.PEFM
ঢ়ଶͷࢹɾө 'SBHNFOU 'SBHNFOU 'SBHNFOU 7JFX 7JFX "DUJWJUZ֤'SBHNFOUͷ ཧͷΈΛ୲
.71.77.ΞʔΩςΫνϟͷҠߦ 'SBHNFOUͰ7JFXͷ୲ൣғΛ ࡉԽ͠'BU$POUSPMMFSԽΛࢭ
.71.77.ΞʔΩςΫνϟͷҠߦ 7JFX.PEFM͔Β7JFXͷґଘΛ ͳ͘͠ɺಠཱͨ͠ಈ࡞Λཱ֬
.71.77.ΞʔΩςΫνϟͷҠߦ ެࣜͷ+FUQBDLϥΠϒϥϦʹΑΔ .77.αϙʔτड͚ΒΕΔ
,PUMJO'MPXʹΑΔ ͜Ε͔Β ௨Λ࣠ͱͨ͠डಈతͳ6*
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6 PO4UBSU PO1BVTF ͳͲ 6*ͷϥΠϑαΠΫϧʹґଘͯ͠ ൃՐ͢Δڍಈͬͯ 6*͕͍ͭͳʹΛ͖͔͢ೳಈతʹ ߟ͑ͯΔ͜ͱʹͳΒͳ͍͔ʁ
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6 ͭ·Γ$MFBO"SDIJUFDUVSFͷ ࢥʹ͢ΔͷͰʁ
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6 ϓϨθϯςʔγϣϯ ࢮ͍ͤͨ͞
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6 ϓϨθϯςʔγϣϯϨΠϠʔॳظԽ࣌ʹ දࣔʹඞཁͳใΛTVCTDSJCFʢࢹʣ͢Δ͚ͩʹͯ͠ ඞཁʹԠͯ͡υϝΠϯଆ͕ೳಈతʹใΛ ฦͤΔΑ͏ʹ͍ͨ͠
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6 ௨ͷΈ,PUMJOͷLPUMJOYDPSPVUJOFTͷ Ұ෦Ͱ͋Δ'MPXͱ$IBOOFMͰ࣮ݱͰ͖Δ
,PUMJO'MPXʹΑΔ௨Λ࣠ͱͨ͠डಈతͳ6 7JFX.PEFM 6TF$BTF σʔλͷࢹɾө ϓϨθϯςʔγϣϯϨΠϠʔ υϝΠϯϨΠϠʔ 'MPX%BUB Λฦ͢ϝιουΛ࡞Δ 'MPXΛࢹ͢Δ͚ͩͰ
ϥΠϑαΠΫϧʹԠͨ͡ ೳಈతͳΞΫγϣϯऔΒͳ͍
%%%ͷੵۃతͳద༻ ͜Ε͔Β
͞ΒͳΔϚϧνϞδϡʔϧԽ ͜Ε͔Β
ʙͷϨΠϠʔͷߏங ͜Ε͔Β
͜Ε͔Β ·ͩ·ͩͨ͘͞Μ͋ΔΜͰ͕͢ ͕࣌ؒͳ͍ͷͰׂѪ͠·͢
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠