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
ANDPAD iOS開発における「マルチモジュール」化の課題と今後
Search
ANDPAD inc
January 12, 2022
Technology
1
1.6k
ANDPAD iOS開発における「マルチモジュール」化の課題と今後
iOS/Androidアプリ開発のマルチモジュール化
https://sansan.connpass.com/event/232503/
イベント登壇時の資料
ANDPAD inc
January 12, 2022
Tweet
Share
More Decks by ANDPAD inc
See All by ANDPAD inc
Catch Up: Go Style Guide Update
andpad
0
260
OSS開発者という働き方
andpad
5
1.8k
Vue・React マルチプロダクト開発を支える Vite
andpad
0
150
プロダクト開発を支えるデータ利活用:中央集権から「民主化」までの軌跡
andpad
0
190
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
410
読もう! Android build ドキュメント
andpad
1
460
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
250
Flutter は DCM が 9 割
andpad
1
370
Amplify で SPA をホスティングする際の注意点
andpad
1
340
Other Decks in Technology
See All in Technology
戦えるAIエージェントの作り方
iwiwi
20
10k
猫でもわかるAmazon Q Developer CLI 解体新書
kentapapa
1
300
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
110
re:Inventに行くまでにやっておきたいこと
nagisa53
0
990
SREのキャリアから経営に近づく - Enterprise Risk Managementを基に -
shonansurvivors
1
720
251029 JAWS-UG AI/ML 退屈なことはQDevにやらせよう
otakensh
0
180
InsightX 会社説明資料/ Company deck
insightx
0
190
実践マルチモーダル検索!
shibuiwilliam
3
550
AIでデータ活用を加速させる取り組み / Leveraging AI to accelerate data utilization
okiyuki99
6
1.7k
ソースを読む時の思考プロセスの例-MkDocs
sat
PRO
1
370
AIを使ってテストを楽にする
kworkdev
PRO
0
410
Databricks Free Editionで始めるMLflow
taka_aki
0
760
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
The Cult of Friendly URLs
andyhume
79
6.6k
Why Our Code Smells
bkeepers
PRO
340
57k
Embracing the Ebb and Flow
colly
88
4.9k
How to Ace a Technical Interview
jacobian
280
24k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Docker and Python
trallard
46
3.6k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
A designer walks into a library…
pauljervisheath
209
24k
GraphQLとの向き合い方2022年版
quramy
49
14k
What's in a price? How to price your products and services
michaelherold
246
12k
Transcript
"/%1"%J04։ൃͰ࠷ۙऔΓΈ࢝Ίͨ ʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ ʹ͍ͭͯ !J04"OESPJEΞϓϦ։ൃͷϚϧνϞδϡʔϧԽΞϯυύουʛΫοΫύουʛ4BOTBO
w ໊લࠤ౻ढ़ี w 5XJUUFS!VTIJTBOUPBTPCV w ձࣾגࣜձࣾΞϯυύουʢೖࣾʣ w ୲J04"OESPJE w झຯίʔώʔɺαοΧʔʢϑοταϧʣ
ࣗݾհ
w "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥͱ՝ w ݱࡏऔΓΜͰ͍ΔʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ ΞδΣϯμ
"/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥͱ՝
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ ϚϧνΞϓϦઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϞόΠϧΞϓϦͷઓུ εʔύʔΞϓϦઓུ ϚϧνΞϓϦઓུ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷϝϦοτ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷϝϦοτ w ʢ෦࣭ʣΞϓϦ͝ͱʹٕज़తͳઓ͕Ͱ͖Δɻ'MVUUFSͳͲ w ʢ֎෦࣭ʣෆཁͳػೳΛؾʹ͢Δ͜ͱͳ͘ར༻Ͱ͖Δ ͳͲͳͲ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷϝϦοτ ৄ͘͠IUUQTTQFBLFSEFDLDPNBOEQBEGVTIVGBMTFBQVSJXPUPOHTIJOJSJSJTVTJOBHBSBTBCJTVHVSPTVTBTFSVGBOHGB
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷσϝϦοτ
ʮݐங%9ʯͱ͍͏ෳࡶɾൣғʹΔ՝ ϚϧνΞϓϦઓུͷσϝϦοτ w ෳΞϓϦͰڞ௨Ͱར༻͍ͨ͠ͷ͕͋Δͱ͖ʹͲ͏͠Α͏🤔
"/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ࣾϥΠϒϥϦ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ʢ֤ΞϓϦ͕ඞཁͳϥΠϒϥϦΛ$PDPBQPETͰཧ͍ͯ͠Δʣ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ ࣾϥΠϒϥϦ
w ݁ߏෳࡶͳੜଶܥΛ͍ͯ͠Δ w ಛʹӡ༻໘ʢ୭͕໘ΈΔͷʁߋ৽ͨ͠ͱ͖ͷଞ5ͷڞ༗ํ๏ʁʣ w ৭ʑ՝͋Δ͕ɺ·͋ͳΜͱ͔ͬͯ͜Ε͍ͯΔ "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ϥΠϒϥϦ ৽͍͠՝🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ϥΠϒϥϦ ৽͍͠՝🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ
ΞϓϦ ϥΠϒϥϦ ৽͍͠՝🔥 "/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ w ͭͷΞϓϦͰಉ͡ػೳ͕ଘࡏ͢Δ͜ͱ ͕ݟ͔ͭͬͨ w ͜ͷػೳΛվम͢Δͷʹɺશ͘ಉ͡मਖ਼ ΛͭͷΞϓϦʹద༻͢Δͱ͍͏ࣄଶ͕
গ͠લʹൃੜͨ͠ w ͍ͦͯۙ͠কདྷɺͬͱେ͖ͳػೳվળ ͕͜ͷػೳʹ༧ఆ͞Ε͍ͯΔͱͷ͜ͱ Ͱɺɺɺ͜͜ڞ௨Խ͍ͨ͠
"/%1"%ʹ͓͚ΔJ04ΞϓϦ։ൃͷੜଶܥ ৽͍͠՝🔥 w ͨͩ͠ࠓճڞ௨Խ͍ͨ͠ͷɺ͜Ε·ͰͷࣾϥΠϒϥϦʮπʔϧతʯ ͳͷɺͱ͍͏ΑΓ͔ʮػೳతʯͳͷͰ͋Δ w ػೳత"1*ϦΫΤετ͕͋Δଞͷػೳͷը໘ʹ్தͰભҠ͢Δ w কདྷతʹ͜ͷΑ͏ͳʮػೳతʯͳͷΛෳΞϓϦͰڞ༗͢Δػձ͕૿ ͍͖͑ͯͦ͏ͩͱ͍͏͕ٞ͋ͬͨ
ݱࡏऔΓΜͰ͍Δ ʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ
ݱࡏऔΓΜͰ͍ΔʮෳΞϓϦͰར༻͢ΔͨΊͷػೳϞδϡʔϧ։ൃʯ w શମͷߏʹ͍ͭͯ w ґଘੑͷѻ͍ʹ͍ͭͯ w ϞδϡʔϧͷϛχΞϓϧʹ͍ͭͯ w Ϟδϡʔϧͷཧʹ͍ͭͯ
શମͷߏʹ͍ͭͯ
શମͷߏʹ͍ͭͯ
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ "OEQBE4PNF'FBUVSF
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ "OEQBE4PNF'FBUVSF ͜ͷػೳΛϞδϡʔϧͱͯ͠ Γग़͍ͨ͠
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ
"OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ Ϟδϡʔϧͱͯ͠Γग़͢
'FBUVSF" શମͷߏʹ͍ͭͯ কདྷతʹෳͷػೳϞδϡʔ ϧΛ࡞͍ͬͯ͘͜ͱΛఆͯ͠ ͍ΔͷͰ 'FBUVSF# 'FBUVSF$ 'FBUVSF%
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF ڞ௨ϞδϡʔϧʢPSج൫Ϟδϡ ʔϧʣ༻ҙ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ ʢҰ୴Θ͔Γ͍͢Α͏ʹɺยํͷΞϓϦলུʣ
ґଘؔ "OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w ΤϯςΟςΟ w &OWJSPONFOUʢґଘੑΛఆ ٛɻৄ͘͠ޙड़ʣ w &YUFOTJPO
શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w 6*$PNQPOFOUΛू w ίʔυͷΈͰ6*Λߏங w 9DPEF1SFWJFXTΛར༻ w
େ͖ΊͷίϯϙʔωϯτͷΈ ఆٛʢ.PMFDVMFT ʣ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF w .77.ߏ w 7JFX$POUSPMMFSͱ7JFX.PEFM ͷΈͷബ͍ϨΠϠߏʢඞཁ ʹԠͯ͡վળͯ͘͠ʣ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF $PDPBQPETͰཧ શମͷߏʹ͍ͭͯ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF શମͷߏʹ͍ͭͯ w ֤छϞδϡʔϧͷJNQPSU w $PSFͷґଘੑͷ࣮ମΛఆٛ ʢৄ͘͠ޙड़ʣ
ґଘੑͷѻ͍ʹ͍ͭͯ
"OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ
Ϟδϡʔϧͷґଘੑʹ͍ͭͯ &OWJSPONFOUʹू͢Δ "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ
"1*$MJFOUநʹґଘ͢ΔΑ͏ ʹ࡞͍ͬͯΔʢৄ͘͠ޙड़ʣ "OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ
"OEQBE$PSF ґଘੑͷѻ͍ʹ͍ͭͯ Ϟδϡʔϧ֎ͷը໘ભҠͷॲ ཧ3PVUFSͱ͍͏؆қͳͷͰ
"OEQBE4PNF'FBUVSF ґଘੑͷѻ͍ʹ͍ͭͯ
"OEQBE4PNF'FBUVSF ґଘੑͷѻ͍ʹ͍ͭͯ ػೳϞδϡʔϧ$PSFͰఆٛ͠ ͨ&OWJSPONFOUʹґଘ࣮ͯ͠ ͍ͯ͘͠
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ &OWJSPONFOUͷ֤छ࣮ମΛ࣮ ͢Δ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ "1*$MJFOUͷ࣮ମͷ࣮
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ طଘͷ"1*.BOBHFSΛݺͼग़ ͢ɻͦͷϨεϙϯεΛϞδϡʔϧ ͷΤϯςΟςΟʢ$PSFʹఆٛʣ ʹม͢Δ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ
ΞϓϦʢ"QQMJDBUJPO5BSHFUʣ ґଘੑͷѻ͍ʹ͍ͭͯ ػೳϞδϡʔϧʹ&OWJSPONFOU ΛΠϯδΣΫτ͢Δ
ʮෳΞϓϦͰར༻͢ΔతͷϞδϡʔϧͰ"1*$MJFOUͳͲΛநԽ͢Δඞཁ͋Δͷʁʁʯ🤔 ґଘੑͷѻ͍ʹ͍ͭͯ
ґଘੑͷѻ͍ʹ͍ͭͯ "OEQBE4PNF'FBUVSF "OEQBE4PNF'FBUVSF
ʢΤϯυϙΠϯτ͋͘·ͰΠϝʔδʣ https://chat.andpad.jp/chat/{chat_id}/somes ґଘੑͷѻ͍ʹ͍ͭͯ "OEQBE4PNF'FBUVSF "OEQBE4PNF'FBUVSF https://sekokanri.andpad.jp/anken/{anken_id}/somes ΞϓϦຖʹΤϯυϙΠϯτ͕ҟ ͳΔ
"OEQBE4PNF'FBUVSF 🙅 ґଘੑͷѻ͍ʹ͍ͭͯ https://chat.andpad.jp/chat/{chat_id}/somes https://sekokanri.andpad.jp/anken/{anken_id}/somes ػೳϞδϡʔϧଆ͕ͦΕͧΕͷ ΞϓϦͷΤϯυϙΠϯτͳͲΛ Γͨ͘ͳ͍ͱࢥͬͨ
"OEQBE$PSF "OEQBE4PNF'FBUVSF ʮ4PNFͷҰཡΛGFUDI͢ΔΑʯ ͱ͍͏݁ߏநͷߴ͍ͷʹ ػೳϞδϡʔϧґଘ͍ͯ͠Δ ґଘੑͷѻ͍ʹ͍ͭͯ
͜͜ΒΜ·ͩ·ͩࢼߦࡨޡதʢࣾͰٞͷ༨͋Γʣ😢 ґଘੑͷѻ͍ʹ͍ͭͯ
ґଘੑͷѻ͍ʹ͍ͭͯ
ґଘੑͷѻ͍ʹ͍ͭͯ &OWJSPONFOUʹ࣮ࡍʹͦΕ ͧΕͷΞϓϦͰඞཁͳใ͕ ͞Ε͍ͯΔ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦͷ࡞Γํ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦͷ࡞Γํ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ $PDPBQPETͰϞδϡʔϧΛ৽ن ࡞͍ͯ͠ΔͨΊɺϛχΞϓϦ ؆୯ʹͰ͖Δ ϛχΞϓϦͷ࡞Γํ
"OEQBE$PSF "OEQBE6*$PNQPOFOU "OEQBE4PNF'FBUVSF ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ϛχΞϓϦ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ ϛχΞϓϦ༻ͷ&OWJSPONFOUΛ ࣮͢Δ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ "1*$MJFOUελϒΛฦ͢Α͏ʹ ΰϦΰϦॻ͘
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ ྫ ϖʔδϯά͋ΓͷҰཡը໘ʹ ͯɺ֤छελϒΛFOVNͰఆٛ͢ Δ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛมߋ͢Δ͜ͱͰɺ৭ʑͳڍಈΛ֬ ೝ͢Δ͜ͱ͕Ͱ͖Δɻ ελϒมߋ࠶Ϗϧυ͕ඞཁ͕ͩϛχΞϓ ϦܰྔͳͷͰؾʹ͠ͳ͍͍ͯ͘ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ଞɺ"1*ॲཧʹ͕͔͔͍࣌ؒͬͯ ΔΑ͏ʹγϛϡϨʔτͤͨ͞Γ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰͰ͖͍ͯΔ͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃ ͜͜Βล·Ͱؾ࣋ͪΑ͘ελϒͰϛχΞϓϦ։ൃͰ͖͍ͯΔͱࢥ͍͕ͬͯͨɺɺɺ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ߹ੑΛͲ͜·ͰͱΔʁ
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ߹ੑΛͲ͜·ͰͱΔʁ w όοΫΤϯυͷ߹ʢʮ͜͏͍ͬͨ݅ͷͱ͖ʹ͜͏͍ͬͨϨεϙϯ ε͕ฦͬͯ͘ΔʯͳͲʣΛελϒͰ୲อ͢Δ͜ͱͰ͖ͳ͍
ϞδϡʔϧͷϛχΞϓϦʹ͍ͭͯ ελϒΛ༻͍ͨϛχΞϓϦ։ൃͰ͏·͍͍ͬͯ͘ͳ͍͜ͱ w ը໘Λ·͍ͨͩͱ͖ʹσʔλͷ߹ੑΛͲ͜·ͰͱΔʁ w όοΫΤϯυͷ߹ʢʮ͜͏͍ͬͨ݅ͷͱ͖ʹ͜͏͍ͬͨϨεϙϯ ε͕ฦͬͯ͘ΔʯͳͲʣΛελϒͰ୲อ͢Δ͜ͱͰ͖ͳ͍ w ϞοΫͮ͠Β͍ͷΛͲ͏͢Δ͔ʢ1)"TTFUͳͲʣ
Ϟδϡʔϧཧʹ͍ͭͯ
Ϟδϡʔϧཧʹ͍ͭͯ w $PDPBQPETͰཧ͍ͯ͠Δ͚ͩ w ʢҰൠతʹݴΘΕΔϚϧνϞδϡʔϧ։ൃͰ9DPEFHFO41.Λ༻͍ Δ͜ͱ͕ଟ͍ೝࣝʣ
Ϟδϡʔϧཧʹ͍ͭͯ ʮ$PDPBQPETͰཧ͍ͯ͠Δ͚ͩʯͱݴͬͯ w ʮผϨϙδτϦʯʮUBHӡ༻ʯ݁ߏίετ͕͔͔Δ w ʢݱଘͷࣾϥΠϒϥϦͷӡ༻ͰೝࣝࡁΈʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🙇