MVC, MVP, MVVM, VIPER, Redux and others by examples
A collection of simple one screen weather apps to showcase and discuss different architectural approaches in iOS
This repository hosts each sample app in separate directory.
The purpose of having examples with single page applications is highlighting connection between view code and business logic code.
Example | Description |
---|---|
mvc | Standard MVC pattern recommended by Apple. Uses composition design pattern to make ViewController smaller. |
mvp | Standard MVP pattern. |
mvvm-closures | Binds ViewController and ViewModel using closures and swift functions |
mvvm-rxswift-pure | Uses RxSwift and observables as binding mechanism between ViewController and ViewModel . |
mvvm-rxswift-subjects-observables | Uses RxSwift with observables as ViewModel outputs and subjects as ViewModel inputs. |
reactorkit | Uses ReactorKit as a framework for a reactive and unidirectional Swift application architecture. |
rxfeedback-mvc | Uses RxFeedback in MVC architecture |
viper | Uses VIPER architecture |
MIT.