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
App Architecture Sample
Search
Yoshikuni Kato
August 27, 2017
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
App Architecture Sample
Yoshikuni Kato
August 27, 2017
More Decks by Yoshikuni Kato
See All by Yoshikuni Kato
Fun of writing Unison
yoching
0
690
The Elm Architecture & Swift
yoching
0
1.3k
iOS developers community in Tokyo
yoching
0
950
Swiftエンジニアが海外のポジションに応募する
yoching
10
3.3k
App Architecture By Manual DI
yoching
0
910
Passing function to function arguments
yoching
0
950
「新規アプリの設計」を設計する
yoching
1
2.2k
App Architecture By Manual DI
yoching
2
630
関数を引数として渡す書き方のポイント
yoching
0
890
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.1k
How to Talk to Developers About Accessibility
jct
2
430
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
370
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.1k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Mobile First: as difficult as doing things right
swwweet
225
10k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
230
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
810
Transcript
AppArchitecture sample @yoshikuni_kato 1
Past Architecture • MVVM-C • ը໘ભҠͷཧͱMVVM 1 • Coordinatorύλʔϯͷ࣮ફ 2
2 https://speakerdeck.com/yoching/coordinatorpatanfalseshi-jian 1 https://speakerdeck.com/yoching/hua-mian-qian-yi-falseguan-li-tomvvm 2
Past Architecture Problems • 2 tasks in Coordinator • View
Transition • Dependency Injection • hard to test • cannot replace with stub objects 3
Inspirations • Minimizing Decision Fatigue to Improve Team Productivity 3
• @try! swift 2017 • AppArchitecture(Application/UI/Components) • ґଘੑͷೖʢDependency Injectionʣ4 • Deep Linking at Kickstarter 5 • @SwiftTalk • "Routing" logics 5 https://talk.objc.io/episodes/S01E49-deep-linking-at-kickstarter 4 https://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3%A8%E5%85%A5 3 https://www.slideshare.net/DerekLee/minimizing-decision-fatigue-to-improve-team-productivity 4
Architecture 5
Sample Code • yoching/iOSAppArchitectureSample 6 6 https://github.com/yoching/iOSAppArchitectureSample 6
Workflow - when make view • make VC & VM
• make function at ViewFactory • (update services when necessary) 7
Workflow - when make service • make service • update
components 8
Workflow - When make transition • update coordinator 9
Result • Coordinator: only view transition • Factory & Components:
Dependency Injection 10