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
1
5k
Wantedly Peopleがたどり着いたアーキテクチャ
Yu Tawata
March 16, 2017
Tweet
Share
More Decks by Yu Tawata
See All by Yu Tawata
SwiftUIを導入したアプリ設計
yuta24
4
2.7k
try! Serverless App with Swift
yuta24
2
530
再利用可能なUI Componentsを利用したアプリ開発
yuta24
12
3.3k
Wantedly Peopleの連絡先一覧について
yuta24
1
5.5k
Other Decks in Technology
See All in Technology
日経電子版 x AIエージェントの可能性とAgentic RAGによって提案書生成を行う技術
masahiro_nishimi
1
290
スタートアップ1人目QAエンジニアが QAチームを立ち上げ、“個”からチーム、 そして“組織”に成長するまで / How to set up QA team at reiwatravel
mii3king
1
1.1k
Fintech SREの挑戦 PCI DSS対応をスマートにこなすインフラ戦略/Fintech SRE’s Challenge: Smart Infrastructure Strategies for PCI DSS Compliance
maaaato
0
450
Platform Engineeringは自由のめまい
nwiizo
4
1.9k
偶然 × 行動で人生の可能性を広げよう / Serendipity × Action: Discover Your Possibilities
ar_tama
1
740
家電アプリ共通PF "Linova" のAPI利用とPostman活用事例ご紹介
yukiogawa
0
130
スクラムのイテレーションを導入してチームの雰囲気がより良くなった話
eccyun
0
110
急成長する企業で作った、エンジニアが輝ける制度/ 20250214 Rinto Ikenoue
shift_evolve
2
880
Tech Blogを書きやすい環境づくり
lycorptech_jp
PRO
0
120
WAF に頼りすぎない AWS WAF 運用術 meguro sec #1
izzii
0
460
Nekko Cloud、 これまでとこれから ~学生サークルが作る、 小さなクラウド
logica0419
2
730
個人開発から公式機能へ: PlaywrightとRailsをつなげた3年の軌跡
yusukeiwaki
11
2.7k
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How STYLIGHT went responsive
nonsquared
98
5.3k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Become a Pro
speakerdeck
PRO
26
5.1k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.2k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
99
18k
Why Our Code Smells
bkeepers
PRO
335
57k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Designing for Performance
lara
604
68k
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