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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Yoshikuni Kato
August 27, 2017
120
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
640
The Elm Architecture & Swift
yoching
0
1.3k
iOS developers community in Tokyo
yoching
0
940
Swiftエンジニアが海外のポジションに応募する
yoching
10
3.3k
App Architecture By Manual DI
yoching
0
900
Passing function to function arguments
yoching
0
930
「新規アプリの設計」を設計する
yoching
1
2.2k
App Architecture By Manual DI
yoching
2
630
関数を引数として渡す書き方のポイント
yoching
0
890
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
270
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
170
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
320
30 Presentation Tips
portentint
PRO
1
330
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
300
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
How to Ace a Technical Interview
jacobian
281
24k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.4k
Automating Front-end Workflow
addyosmani
1370
210k
Code Review Best Practice
trishagee
74
20k
Scaling GitHub
holman
464
140k
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