iOS Architecture Patterns Revisited
· 3 min read
Why bother with architecture?
Answer: for reducing human resources costs per feature.
Mobile developers evaluate the architecture in three dimensions.
- Balanced distribution of responsibilities among feature actors.
- Testability
- Ease of use and maintainability
Distribution of Responsibility | Testability | Ease of Use | |
---|---|---|---|
Tight-coupling MVC | ❌ | ❌ | ✅ |
Cocoa MVC | ❌ VC are coupled | ❌ | ✅⭐ |
MVP | ✅ Separated View Lifecycle | ✅ | Fair: more code |
MVVM | ✅ | Fair: because of View's UIKit dependant | Fair |
VIPER | ✅⭐️ |