Skip to content
Babel CDM edited this page Sep 5, 2019 · 7 revisions

EMA

EMA is a library to implement the architecture of an Android app by an easy and confortable way, getting an structured code, testable and maintaneable, and using the patterns recommended by Android Team. The library is based on :

Kotlin: The library has been created using Kotlin language.

Dependency injection: The dependency injection to provide the app models is based on Kodein modules.

Navigation patterns: With the navigation classes provided, you can navigate between screens through the Navigation Architecture Component.

MVVM architecture: The communication between data providers and visual components is based on MVVM reactive pattern through ViewModel, using the Single State Concept as unique source of truth for view drawing.

Coroutines: All concurrency tasks are handle by Kotlin coroutines.

Single State Concept: All dynamic data a screen needs to draw itself, must be saved in an unique object.