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
nade
February 15, 2019
Programming
0
1.3k
学生スタートアップがマイクロビューコントローラを導入した話
Mbile Act Osaka #8
nade
February 15, 2019
Tweet
Share
More Decks by nade
See All by nade
Server-Driven UI入門: 画面のStateを直接受け取るアプローチ
kazumanagano
5
3.2k
タップルのサービス特性に合わせた設計方針を考える
kazumanagano
0
170
iOS開発におけるGitHub Actions self-hosted runnerを利用したオンプレ CI/CD のすゝめ
kazumanagano
0
110
Github Actions self-hosted runners のすゝめ
kazumanagano
0
520
モバイルアプリのオブザーバビリティを向上させるプラクティス
kazumanagano
8
4.5k
タップル モバイルアプリにE2Eテストが導入されるまでの軌跡
kazumanagano
0
97
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
4
8.7k
App Size Optimization への挑戦
kazumanagano
1
1.3k
無料トライアル施策のしくじりから学ぶサブスクリプション構成 ベストプラクティス
kazumanagano
2
2.3k
Other Decks in Programming
See All in Programming
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
900
Claude Agent SDK を使ってみよう
hyshu
0
1k
CSC509 Lecture 04
javiergs
PRO
0
300
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
1
560
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
120
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
6.6k
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
270
組込みだけじゃない!TinyGo で始める無料クラウド開発入門
otakakot
0
290
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
590
Catch Up: Go Style Guide Update
andpad
0
230
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
35
6.1k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
What's in a price? How to price your products and services
michaelherold
246
12k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Navigating Team Friction
lara
190
15k
Building a Modern Day E-commerce SEO Strategy
aleyda
44
7.8k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Embracing the Ebb and Flow
colly
88
4.9k
Balancing Empowerment & Direction
lara
4
690
Music & Morning Musume
bryan
46
6.8k
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ʂ