Goals:
- Develop a Kotlin android app from scratch
- Apply uncle's bob clean architecture to an android app
- Isolate layers of clean architecture (presentation, domain, data) in independant android-libraries
- Use MVP with a Router/Navigator in the presentation layer
- Include elements from another clean based architectures such as VIPER
With this scheme i try to show the components needed in differents layers.
Some libraries are necessary to simplify the development of an app based on this architecture.
Presentation | Domain | Data |
---|---|---|
RxJava | RxJava | RxJava |
RxAndroid | RxAdapter | |
Material Snackbar | OkHttp | |
Material Dialogs | Retrofit | |
Glide | Gson |
To develop this example app i read multiple articles that inspire to me:
- The clean architecture
- Architecting Android...The clean way?
- Architecting Android...The evolution
- Architecture Components
- Applying clean architecture on Android
- Using the VIPER architecture on Android
Extra:
Abimael Barea @elabi3