MVVM as good (anti)pattern in iOS
summary
Argues MVVM’s origin in WPF and shows how iOS ports often become a dumping ground that breaks SRP, inflates view models and hides complexity. Gives concrete numbers: 255,000 lines of Swift, ~6,000 Swift files, 99.2% coverage, 204 UI view controllers, only 88 files >100 lines. Builds a list/detail demo where a closure creates a closure retain-cycle crash; replacing closures with Rx-style bindings plus proper disposal prevents the crash. Recommends tiny view-model structs, services for networking, and many small child view controllers.
AI-written summary · about
chapters (17)
- 0:00Intro
- 1:49WHY anti pattern? What's wrong with MVVM?
- 3:07Let's start from the beginning
- 4:30Windows Presentation Foundation is a graphical subsystem created by Microsoft for rendering user Interfaces in Windows-based applications.
- 4:40Basic approach of MVVM in WPF
- 7:402 different definitions
- 9:39What is wrong with it?
- 11:36View model is a model for a view, isn't it?
- 12:29What about those action methods?
- 13:12MVC - Many View Controllers
- 15:17Real life bugs
- 19:54How many view controllers are there?
- 21:43"Get rid of Massive ViewController"
- 22:00small View Controller + ...
- 23:06"MVVM makes my apps more testable"
- 24:11"Because it's so popular and it's a perfect solution with RxSwift"
- 25:16Disadvantages
related talks
22mMVVM at Scale: Not so Simple
41mMVI: a Robust and Modern Architecture
40mMobiconf 2018: John Sundell, Swift by Sundell
36mMVWTF: Demystifying Architecture Patterns
26mThe SwiftUI Mindset: 5 Key Ideas to Avoid Common Pitfalls
19mThe Art of Functional State Management for iOS Apps
39mOnion-like iOS Architecture Solution
17mApp architecture - singular vs plural
