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
Wantedly Peopleがたどり着いたアーキテクチャ
Search
Yu Tawata
March 16, 2017
Technology
5.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Wantedly Peopleがたどり着いたアーキテクチャ
Yu Tawata
March 16, 2017
More Decks by Yu Tawata
See All by Yu Tawata
SwiftUIを導入したアプリ設計
yuta24
4
3.2k
try! Serverless App with Swift
yuta24
2
580
再利用可能なUI Componentsを利用したアプリ開発
yuta24
12
3.7k
Wantedly Peopleの連絡先一覧について
yuta24
1
5.8k
Other Decks in Technology
See All in Technology
製造現場での生成AIの活用、およびエージェントAIの実装のあり方、AVEVAの取り組み
iotcomjpadmin
0
180
認証認可だけじゃない! ID管理の構成要素と ライフサイクルを意識しよう
ritou
1
230
Kotlin 開発のツラミを爆破した話! / Explode the difficulty of Kotlin dev!
eller86
0
110
『AIに負けない』より『AIと遊ぶ』」〜ワクワクが最強のテスト・QA学習戦略_公開用
odan611
1
120
組織における AI-DLC 実践
askul
0
180
PostgreSQL 19 新機能概要 OSC Hokkaido 2026
nori_shinoda
0
260
Comment regagner la souveraineté de vos données tout en étant payé grâce à Nostr !
rlifchitz
0
230
水を運ぶ人としてのリーダーシップ
izumii19
4
1.1k
元・セキュリティ学習経験0大学生による業務紹介 / An Introduction to the Job by a Former College Student with Zero Security Training Experience
nttcom
0
1k
WebGIS AI Agentの紹介
_shimizu
0
600
Multi-Agent並列開発を 安全に回すための技術 / Technology for Safely Multi-Agent Parallel Development
tooppoo
0
220
AWS Summit Japan 2026の振り返りと2027へ向けて / AWS Summit Japan 2026 Recap and Prospects for 2027
kaminashi
1
110
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
260
Designing for Performance
lara
611
70k
Tell your own story through comics
letsgokoyo
1
980
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
4 Signs Your Business is Dying
shpigford
187
22k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
350
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
Embracing the Ebb and Flow
colly
88
5.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Practical Orchestrator
shlominoach
191
11k
Transcript
Yu TAWATA 8BOUFEMZ1FPQMF͕ ͨͲΓண͍ͨΞʔΩςΫνϟ CAMPFIRE iOS #1
シゴトでココロオドル w ܦྺ w ΧʔφϏϛυϧΣΞ։ൃɹ̎ w ιʔγϟϧήʔϜ։ൃʢαʔόαΠυʣɹ̎ w *P5αʔϏε։ൃʢαʔόαΠυɺJ04ʣɹ̍ w
໊ཧΞϓϦ։ൃʢJ04ʣɹϲ݄ ଟాɹါ :V5"8"5" (JU)VCZVUB ࣗݾհ
シゴトでココロオドル
シゴトでココロオドル
シゴトでココロオドル アプリ設計
シゴトでココロオドル MVC MVP MVVM VIPER Clean Architecture View Controller Model
View (Controller) Presenter Model View (Controller) ViewModel Model View (Controller) Presenter Entity Presenter Layer Domain Layer Data Layer Interactor Router
シゴトでココロオドル 0 → 1
シゴトでココロオドル × MVVM ×
シゴトでココロオドル w "1*ͷྻɺฒྻϦΫΤετΛѻ͑Δ w Χʔυը૾Ξοϓ w Ϛονϯά w ໊ొʜFUD w
σʔλͷมߋΛଞը໘ʹөͰ͖Δ w ΦϑϥΠϯ໊࣌ใΛӾཡͰ͖Δ Requirements
シゴトでココロオドル w ը໘ఔ w εΩϟϯ w औΓࠐΈ֬ೝ w ϓϩϑΟʔϧࢀরʜFUD Minimal-Specification
シゴトでココロオドル • 実装コストが低め • コードの重複は少ない • ViewModelの役割が⼤大きい MVVM+RxSwift+Realm
シゴトでココロオドル 1 → 10
シゴトでココロオドル MVVM + Interactor + Router × ×
シゴトでココロオドル
シゴトでココロオドル
シゴトでココロオドル • 20画⾯面以上 • 複数の画⾯面に同じ操作を⼊入れる • 連絡先への追加、削除 • カード画像アップ •
DeepLink Minimal-Specification
シゴトでココロオドル View (Controller) ViewModel
シゴトでココロオドル View (Controller) ViewModel Interactor View (Controller) ViewModel
シゴトでココロオドル • コードの重複を抑えることができた • ViewModelの役割が⼩小さくなった MVVM+Interactor+Router+RxSwift+Realm
シゴトでココロオドル MVC MVP MVVM VIPER Clean Architecture View Controller Model
View (Controller) Presenter Model View (Controller) ViewModel Model View (Controller) Presenter Entity Presenter Layer Domain Layer Data Layer Interactor Router
シゴトでココロオドル End • 0 → 1 • 最⼩小の仕様を実装する • MVVM
• アプリ設計は必要最低限 • 1 → 10 • 機能を拡充、ユーザ体験をあげる • MVVM + Interactor + Router • より責務を明確にしたアプリ設計へ
シゴトでココロオドル THANK YOU