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
730
The Elm Architecture & Swift
yoching
0
1.3k
iOS developers community in Tokyo
yoching
0
980
Swiftエンジニアが海外のポジションに応募する
yoching
10
3.4k
App Architecture By Manual DI
yoching
0
940
Passing function to function arguments
yoching
0
980
「新規アプリの設計」を設計する
yoching
1
2.2k
App Architecture By Manual DI
yoching
2
630
関数を引数として渡す書き方のポイント
yoching
0
900
Featured
See All Featured
Side Projects
sachag
455
43k
We Have a Design System, Now What?
morganepeng
55
8.3k
Art, The Web, and Tiny UX
lynnandtonic
304
22k
How to build a perfect <img>
jonoalderson
1
6k
Claude Code のすすめ
schroneko
67
230k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
45k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
600
Balancing Empowerment & Direction
lara
6
1.3k
Believing is Seeing
oripsolob
1
210
AI: The stuff that nobody shows you
jnunemaker
PRO
9
970
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
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