Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Wantedly Peopleがたどり着いたアーキテクチャ
Yu Tawata
March 16, 2017
Technology
1
4.3k
Wantedly Peopleがたどり着いたアーキテクチャ
Yu Tawata
March 16, 2017
Tweet
Share
More Decks by Yu Tawata
See All by Yu Tawata
SwiftUIを導入したアプリ設計
yuta24
4
1.7k
try! Serverless App with Swift
yuta24
2
400
再利用可能なUI Componentsを利用したアプリ開発
yuta24
12
2.5k
Wantedly Peopleの連絡先一覧について
yuta24
1
4.9k
Other Decks in Technology
See All in Technology
組織の崩壊と再生、その中で何を考え、感じたのか。 そして本当に必要だったもの
kosako
10
4.3k
DOM Invader - prototype pollution対応の衝撃 - / DOM Invader - prototype pollution
okuken
0
160
PUTとPOSTどっち使う?
hankehly
0
270
UWBを使ってみた
norioikedo
0
420
Building smarter apps with machine learning, from magic to reality
picardparis
4
3.2k
LINEのB2Bプラットフォームにおけるトラブルシューティング2選
line_developers
PRO
4
300
スタートアップと技術選定と AWS
track3jyo
PRO
2
350
マネージャーからみたスクラムと自己管理化
shibe23
0
1.1k
JDK Flight Recorder入門
chiroito
1
510
紙にまつわる苦しみを機能化してきた カミナシの歴史
kaminashi
0
1.3k
HoloLens2とMetaQuest2どちらも動くWebXRアプリをBabylon.jsで作る
iwaken71
0
200
Meet passkeys
satotakeshi
1
120
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
The Illustrated Children's Guide to Kubernetes
chrisshort
15
36k
Art Directing for the Web. Five minutes with CSS Template Areas
malarkey
196
9.4k
Building an army of robots
kneath
299
40k
Debugging Ruby Performance
tmm1
65
10k
How New CSS Is Changing Everything About Graphic Design on the Web
jensimmons
213
11k
Typedesign – Prime Four
hannesfritz
34
1.4k
Docker and Python
trallard
27
1.6k
The Web Native Designer (August 2011)
paulrobertlloyd
74
1.9k
The Cult of Friendly URLs
andyhume
68
4.8k
How GitHub (no longer) Works
holman
296
140k
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