Elmslie is a minimalistic reactive implementation of TEA/ELM written in kotlin with java support.
Named after George Grant Elmslie, a Scottish-born architect.
- Scalable and Reusable: Built-in support for nesting components
- Multiplatform: Written with pure Kotlin and Coroutines, supports KMP (Android, iOS, JS)
- Single immutable state: Simplify state management
- UDF: Say no to spaghetti code with Unidirectional Data Flow
This is a visual representation of the architecture:
For more info head to the wiki
Samples are available here
Library is distributed through Maven Central
allprojects {
repositories {
mavenCentral()
}
}
- Core - for pure kotlin ELM implementation
implementation 'money.vivid.elmslie:elmslie-core:{latest-version}'
- Android - for android apps only, simplifies lifecycle handling
implementation 'money.vivid.elmslie:elmslie-android:{latest-version}'