Let's Think About Architecture
summary
Discussion of choosing an architectural approach for iOS apps, comparing common patterns — MVC, MVVM, and VIPER — against practical criteria relevant to day-to-day development, and analyzing the overall trade-offs between these solutions.
AI-written summary · about
chapters (42)
- 0:00Introduction
- 1:05Massive ViewController problem
- 2:15Problem origins and dependencies
- 3:22Basic solutions and responsibility separation
- 6:34Additional architecture approaches
- 7:16Classic MVC and its modifications
- 7:58MVP with reactive frameworks
- 10:26MVVM and its implementation
- 10:48VIPER and its entities
- 12:12Risks of excessive splitting
- 12:53Architecture selection criteria
- 13:57Approach comparison by responsibility
- 15:21Code reuse across approaches
- 17:29Business logic testing
- 19:57VIPER code volume
- 21:02VIPER code generators
- 22:25Navigation between screens
- 23:51Forms and validation
- 27:27Form solution comparison
- 28:09Architecture for complex projects
- 29:10Architecture for simple projects
- 29:52When not to over-architect
- 30:37Approach modification for tasks
- 31:01Alternative solutions and decorators
- 32:44Reactive bindings and replacements
- 34:08Direct manager-service links
- 35:14ViewModel logic reuse
- 35:58ViewController-Interactor links
- 37:43Architectural cosmopolitanism
- 38:45Custom modifications
- 39:26Team and project adaptation
- 40:33Conclusion and recommendations
- 41:35Think about architecture
- 41:59Q&A: Code reuse
- 43:01Q&A: VIPER code volume
- 45:09Q&A: Pattern usage stats
- 46:11Q&A: ViewController-ViewModel link
- 48:40Q&A: Router data passing
- 49:21Q&A: ViewModel growth
- 51:50Q&A: Protocol limitations
- 53:34Q&A: ViewController testing
- 54:19Q&A: ViewModel testing








