AndroidVIP
Android project to experiment the VIPER approach.
Motivations
- Tend toward the VIPER approach
- Make it easier to test the application
- Simplify the set up of asynchronous job with RxJava
Technical base
- mosby to set up the "V" and "P" of the VIPER approach
- dagger2 to set up the dependency injection system
- Rx.Observe to ease the set up of asynchronous job, transforming Interactor's methods to Rx methods
- DaggerMock to mock dagger2 objects
- mockito as a mocking framework
Perspectives
- use of bluelinelabs' Conductor library to build View-based application:
- to manage the "V" of the VIPER approach
- to provide the "R" of the VIPER approach (via the
Router
class)
- set up the "E" of the VIPER approach
- use of a ContentProvider
- a combination of ProviGen and AutoCursor could be relevant
- use of an ORM
- use of a ContentProvider
- use of EasyFlow to manage screen's states (cf. AndroidModularSample)
Bibliography
- http://hannesdorfmann.com/mosby/
- https://www.objc.io/issues/13-architecture/viper/
- https://medium.com/@fabioCollini/android-testing-using-dagger-2-mockito-and-a-custom-junit-rule-c8487ed01b56
Logo credits
Animals graphic by Freepik from Flaticon is licensed under CC BY 3.0. Made with Logo Maker