vmc2
vmc2 copied to clipboard
Evolution of MVC on iOS with examples. MVC, VIPER, MVVM, MVP
v=mc2
Evolution of MVC on iOS with examples.
Sample app
App is very simple. It has just one button and one label. If user clicks button, app displays loading indicator and after a second displays some text. Also it has simple push navigation.
1. MassiveVC
Massive View Controller is usual approach for most iOS apps, UIViewController does almost everything
2. ControllerVC
Attempt to apply clean MVP arhitecture where UIViewController is Presenter (Controller).
3. VIPER aka 'MVP + Routing'
Famous VIPER adopted to reality of our super complex app. UIViewController is View.
4. MVVM
This is how Microsoft tech can be adopted to iOS + Routing. UIViewController is View.
5. MVP+Routing+Bindings
Reactive VIPER (MVP+Routing)
6. MVVM+Bindings
Reactive MVVM+Routing