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
学生スタートアップがマイクロビューコントローラを導入した話
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nade
February 15, 2019
Programming
1.3k
0
Share
学生スタートアップがマイクロビューコントローラを導入した話
Mbile Act Osaka #8
nade
February 15, 2019
More Decks by nade
See All by nade
Server-Driven UI入門: 画面のStateを直接受け取るアプローチ
kazumanagano
5
4.1k
タップルのサービス特性に合わせた設計方針を考える
kazumanagano
0
230
iOS開発におけるGitHub Actions self-hosted runnerを利用したオンプレ CI/CD のすゝめ
kazumanagano
0
150
Github Actions self-hosted runners のすゝめ
kazumanagano
0
560
モバイルアプリのオブザーバビリティを向上させるプラクティス
kazumanagano
8
4.9k
タップル モバイルアプリにE2Eテストが導入されるまでの軌跡
kazumanagano
0
120
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
4
8.8k
App Size Optimization への挑戦
kazumanagano
1
1.4k
無料トライアル施策のしくじりから学ぶサブスクリプション構成 ベストプラクティス
kazumanagano
2
2.4k
Other Decks in Programming
See All in Programming
L’IA au service des devs : Anatomie d'un assistant de Code Review
toham
0
250
Don't Prompt Harder, Structure Better
kitasuke
0
750
SkillがSkillを生む:QA観点出しを自動化した
sontixyou
6
3.4k
SREに優しいTerraform構成 modulesとstateの組み方
hiyanger
1
120
t *testing.T は どこからやってくるの?
otakakot
0
520
実用!Hono RPC2026
yodaka
2
190
iOS機能開発のAI環境と起きた変化
ryunakayama
0
180
年間50登壇、単著出版、雑誌寄稿、Podcast出演、YouTube、CM、カンファレンス主催……全部やってみたので面白さ等を比較してみよう / I’ve tried them all, so let’s compare how interesting they are.
nrslib
4
780
Going Multiplatform with Your Android App (Android Makers 2026)
zsmb
2
410
PCOVから学ぶコードカバレッジ #phpcon_odawara
o0h
PRO
0
260
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
490
AI-DLC Deep Dive
yuukiyo
8
3.7k
Featured
See All Featured
Measuring & Analyzing Core Web Vitals
bluesmoon
9
810
The Curse of the Amulet
leimatthew05
1
11k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
320
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
280
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
1.9k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
270
Color Theory Basics | Prateek | Gurzu
gurzu
0
290
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
260
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Transcript
ֶੜελʔτΞοϓ͕ ϚΠΫϩϏϡʔίϯτϩʔϥ Λಋೖͨ͠ nade( @kazuma_nagano ) Mobile Act OSAKA #8
Kazuma Nagano (nade) @kazuma_nagano NAIST M2 TIMEPACK Inc. CTO
ຊͷςʔϚ ։ൃεϐʔυͱϦϑΝΫλΛཱ྆͢Δ ʹϚΠΫϩΞʔΩςΫνϟઃܭ ׂ͕ͱྑ͔ͬͨ
ͳͥಋೖʹ͍͔ͨͬͨʁ
։ൃϝϯόʔ ΅͘ɿiOSνϣοτσΩϧ ʢ5ʣ CEOɿiOS UI ΠδΕΔ σβΠφɿϓϩάϥϛϯάॳֶऀ
എܠ • ͱʹ͔͘εϐʔυײ͕ཉ͍͠ʢDemoDay·Ͱʹ..) • ֶۀ͕͋ΔͷͰجຊඇಉظ࡞ۀ • εΫϥοϓ & Ϗϧυ
։ൃࢦ • ͱʹ͔͘εϐʔυײ͕ཉ͍͠ʢDemoDay·Ͱʹ..) • ֶۀ͕͋ΔͷͰجຊඇಉظ࡞ۀ • εΫϥοϓ & Ϗϧυ ϝΠϯϩδοΫɿ΅͘
UIͱ෦ػೳɿCEO + σβΠφ
σ β Π φ $ & 0
ϝΠϯϩδοΫ ͤΔͥʂʂ ϨϏϡʔ͢Δͥ ։ൃͷ༷ࢠ 6*ͱ؆୯ͳػೳ ࡞Δͥʂʂ
τοϓը໘ͷ༷ࢠ͕ ͦΖͦΖઃܭɽɽ ޙɽɽ ৽ػೳͱϏϡʔͥ͢ʂ
τοϓը໘ͷ༷ࢠ͕ ͦΖͦΖઃܭɽɽ ޙɽɽ ৽ػೳͱϏϡʔͥ͢ʂ େنͳϦϑΝΫλϦϯά
શ෦ڭ͖͑Εͳ͍ɽɽ ͞Βʹޙɽɽ Μʁ͜ͷઃܭͰ Ͳ͏ͬͯػೳ͢ͷʁ 7JFX.PEFMͬͯԿʂʁ
શ෦ڭ͖͑Εͳ͍ɽɽ ͞Βʹޙɽɽ Μʁ͜ͷઃܭͰ Ͳ͏ͬͯػೳ͢ͷʁ 7JFX.PEFMͬͯԿʂʁ w 6*ΛՃͮ͠Β͘ͳͬͯ͘Δ w ษڧڭҭίετ w
ഭΓདྷΔకΊΓɽɽ
͖ʹ͍͍ͭͬͯ͘Αʂ ͏͋ͱͰશ෦ ͓Ε͕͢Θɽɽ ࠷ऴతʹɽɽ ʁɹʁ
͜͏ͯ͠Fat View Controllerͷ ҋʹତ͍ͪͯ͘ͷͩͬͨ
ͳʹ͕ྑ͘ͳ͔͔ͬͨʁ! • ΞʔΩςΫνϟΛపఈ͢Δʹֶशίετ͕͔͔Δ • ֶश͠ͳ͕ΒίʔυΛॻ͘߹ɺεϐʔυ͕མͪΔ • Ϋϥεؒͷ݁߹͕ਂ͘ͳΔͨΊϦϑΝΫλ͕େม
ͱ͍͑ϚγͳΓํ͋Δͣ
େֶͰڭΘͬͨ͜ͱɽɽ !☁
ڊਓͷݞͷ্ʹͷΔʂ !#
• ࡢͷiOSDCͰ @tarunon͞Μ͕ൃද(ϕετεϐʔΧʔ) • ϑϨʔϜϫʔΫ + Sample͕ެ։ https://github.com/mercari/Mew • UIύʔπͦΕͧΕΛViewControllerͰ࡞ͬͯ͠·͏ΞʔΩς
Ϋνϟ MicroViewController ϝ̋ΧϦࣾͷ
࣮ͷઆ໌Λͪΐͬͱ͚ͩ ৄ͘͠Github
ViewControllerؒͷInterfaceΛϓϩτίϧͰ౷Ұ • Instantiatableɿinit • Injectableɿupdate • Interactableɿdelegate MicroViewController ϝ̋ΧϦࣾͷ
ContainerViewΛ༻͍࣮ͯ MicroViewController ϝ̋ΧϦࣾͷ
MicroViewControllerΛ͏ͱ • ϥΠϑαΠΫϧɾը໘ભҠίʔυׂ͕͞ΕΔ • ϨΠΞτ͕࣌ؒॖ͠ɺύϑΥʔϚϯε͕ ͕͋Δ • ΫϩεΞʔΩςΫνϟͰ࣮Մೳ
ΫϩεΞʔΩςΫνϟ • ը໘ؒͷ݁߹͕ेʹૄͰ͋Ε த͕ԿͰͰ͖ͯͯΑ͍ MVVM MVVM Clean Archi MVC RIBs
Clean Archi MVC RIBs MVVM MVP MVC
ΫϩεΞʔΩςΫνϟ • ը໘ؒͷ݁߹͕ेʹૄͰ͋Ε த͕ԿͰͰ͖ͯͯΑ͍ • Fat ViewControllerͰྑ͍ MVVM MVVM Clean
Archi MVC RIBs Clean Archi MVC RIBs MVVM MVP MVC
ֶੜελʔτΞοϓ͕ MicroViewControllerΛ͏ͱ • શͯͷը໘Λ͖Ε͍ͳίʔυͰ࡞Βͳͯ͘ Α͘ͳΔ • ViewController͕ଠΓͮΒ͘ͳΔ • ଠͬͨը໘͔ΒϦϑΝΫλΛਐΊ͍͚ͯΔ •
ϦϑΝΫλͷӨڹൣғ͕ڱ·ΓΊͬͪΌָʹͳΔ
࣮ࡍͷը໘ߏ
࣮ࡍͷը໘ߏ • φϏήʔγϣϯόʔ • ηϧͷϥϕϧɾΠϝʔδ ʢը໘ભҠ͕ͳ͍ɾύʔπʣҎ֎ શ෦ViewController + Xib
MicroViewControllerͷԸܙ • ։ൃɿ×3 • 1ViewControllerதͷίʔυɿ~500 • ύϑΥʔϚϯε্ͯ͠Δʁ
Thank youʂ