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
1k
学生スタートアップがマイクロビューコントローラを導入した話
Mbile Act Osaka #8
nade
February 15, 2019
Tweet
Share
More Decks by nade
See All by nade
タップルのサービス特性に合わせた設計方針を考える
kazumanagano
0
10
iOS開発におけるGitHub Actions self-hosted runnerを利用したオンプレ CI/CD のすゝめ
kazumanagano
0
7
Github Actions self-hosted runners のすゝめ
kazumanagano
0
350
モバイルアプリのオブザーバビリティを向上させるプラクティス
kazumanagano
7
3.4k
タップル モバイルアプリにE2Eテストが導入されるまでの軌跡
kazumanagano
0
3
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
4
8.2k
App Size Optimization への挑戦
kazumanagano
0
980
無料トライアル施策のしくじりから学ぶサブスクリプション構成 ベストプラクティス
kazumanagano
2
1.8k
モノレポで複数アプリを リリースする場合の運用戦略
kazumanagano
0
3.1k
Other Decks in Programming
See All in Programming
Adding Tests to Untestable Legacy Code
afilina
PRO
0
190
Secure Development with PHP
dbrumann
2
180
[Kotlin Fest 2024] もっとKotlinを好きになる!K2時代のKotlin Compiler Plugin開発
kitakkun
2
2.4k
IaCにおけるテスト考察 / Tests in IaC
linyows
2
250
Gradle Version Catalog with KTS [KotlinConf'24 Global]
junjaboy
0
140
about #67401 //go:linkname
andpad
2
19k
Ruby の型に関する活動をやっている話 / Activities related to Ruby types
euglena1215
3
140
The Hotwire Landscape After Turbo 8 @ Brighton Ruby 2024
marcoroth
0
200
K2のKotlin IDEプラグインの中を覗いてみよう♪
yanex
0
1.9k
ビルドツールとはなにか?からはじめるGradle超入門 / JJUG CCC 2024 Spring
nhayato
1
180
♾️ マルチプロダクトの組織でマイクロサービスアーキテクチャを支えるCICDプラットフォーム設計
hiroki_hasegawa
3
340
過去や未来を扱うのは難しい? 過去と未来に立ち向かうための勘所
shinpeim
2
440
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
323
21k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
13
1.2k
Fashionably flexible responsive web design (full day workshop)
malarkey
399
65k
The Brand Is Dead. Long Live the Brand.
mthomps
51
36k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
24
1.7k
A designer walks into a library…
pauljervisheath
201
24k
The Power of CSS Pseudo Elements
geoffreycrofte
63
5.1k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
88
46k
What’s in a name? Adding method to the madness
productmarketing
PRO
18
2.8k
GraphQLとの向き合い方2022年版
quramy
35
13k
The Mythical Team-Month
searls
217
42k
Scaling GitHub
holman
457
140k
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ʂ