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
4
2.8k
タップルのサービス特性に合わせた設計方針を考える
kazumanagano
0
150
iOS開発におけるGitHub Actions self-hosted runnerを利用したオンプレ CI/CD のすゝめ
kazumanagano
0
100
Github Actions self-hosted runners のすゝめ
kazumanagano
0
500
モバイルアプリのオブザーバビリティを向上させるプラクティス
kazumanagano
8
4.3k
タップル モバイルアプリにE2Eテストが導入されるまでの軌跡
kazumanagano
0
89
よりUXに近いSLI・SLOの運用による可用性の再設計
kazumanagano
4
8.6k
App Size Optimization への挑戦
kazumanagano
1
1.2k
無料トライアル施策のしくじりから学ぶサブスクリプション構成 ベストプラクティス
kazumanagano
2
2.2k
Other Decks in Programming
See All in Programming
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
250
202507_ADKで始めるエージェント開発の基本 〜デモを通じて紹介〜(奥田りさ)The Basics of Agent Development with ADK — A Demo-Focused Introduction
risatube
PRO
6
1.4k
TypeScriptでDXを上げろ! Hono編
yusukebe
4
930
「次に何を学べばいいか分からない」あなたへ──若手エンジニアのための学習地図
panda_program
3
710
中級グラフィックス入門~効率的なメッシュレット描画~
projectasura
4
2.4k
プロダクトという一杯を作る - プロダクトチームが味の責任を持つまでの煮込み奮闘記
hiliteeternal
0
370
構文解析器入門
ydah
7
2k
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
440
知って得する@cloudflare_vite-pluginのあれこれ
chimame
1
140
대규모 트래픽을 처리하는 프론트 개발자의 전략
maryang
0
110
Streamlitで実現できるようになったこと、実現してくれたこと
ayumu_yamaguchi
2
270
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
0
190
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Building Adaptive Systems
keathley
43
2.7k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Thoughts on Productivity
jonyablonski
69
4.8k
Being A Developer After 40
akosma
90
590k
The World Runs on Bad Software
bkeepers
PRO
70
11k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Scaling GitHub
holman
461
140k
Designing for Performance
lara
610
69k
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ʂ