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
OSS開発者という働き方
andpad
5
1.7k
Vue・React マルチプロダクト開発を支える Vite
andpad
0
110
プロダクト開発を支えるデータ利活用:中央集権から「民主化」までの軌跡
andpad
0
150
アンドパッドの Go 勉強会「 gopher 会」とその内容の紹介
andpad
0
380
読もう! Android build ドキュメント
andpad
1
440
アンドパッドにおける CocoaPods ライブラリ群の SwiftPackageManager への移行戦略
andpad
0
210
Flutter は DCM が 9 割
andpad
1
350
Amplify で SPA をホスティングする際の注意点
andpad
1
300
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
andpad
0
140
Other Decks in Technology
See All in Technology
「Linux」という言葉が指すもの
sat
PRO
4
140
Aurora DSQLはサーバーレスアーキテクチャの常識を変えるのか
iwatatomoya
1
1.2k
Webアプリケーションにオブザーバビリティを実装するRust入門ガイド
nwiizo
7
890
メルカリIBISの紹介
0gm
0
490
データ分析エージェント Socrates の育て方
na0
8
2.8k
エンジニアが主導できる組織づくり ー 製品と事業を進化させる体制へのシフト
ueokande
1
110
20250910_障害注入から効率的復旧へ_カオスエンジニアリング_生成AIで考えるAWS障害対応.pdf
sh_fk2
3
280
2つのフロントエンドと状態管理
mixi_engineers
PRO
3
160
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
2
270
これでもう迷わない!Jetpack Composeの書き方実践ガイド
zozotech
PRO
0
1.1k
「全員プロダクトマネージャー」を実現する、Cursorによる仕様検討の自動運転
applism118
22
12k
AIエージェントで90秒の広告動画を制作!台本・音声・映像・編集をつなぐAWS最新アーキテクチャの実践
nasuvitz
3
360
Featured
See All Featured
Navigating Team Friction
lara
189
15k
The Cult of Friendly URLs
andyhume
79
6.6k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Code Reviewing Like a Champion
maltzj
525
40k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
34
6k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
113
20k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.6k
Designing for Performance
lara
610
69k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
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 ʢݱଘͷࣾϥΠϒϥϦͷӡ༻ͰೝࣝࡁΈʣ
͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠🙇