Skip to content

vivid-money/elmslie

Repository files navigation

Elmslie

Maven Central Version License badge

Elmslie is a minimalistic reactive implementation of TEA/ELM written in kotlin with java support.
Named after George Grant Elmslie, a Scottish-born architect.

Why?

  • 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

Documentation

This is a visual representation of the architecture:

For more info head to the wiki

Samples

Samples are available here

  • Basic loader for android: link
  • Pure kotlin calculator: link

Download

Library is distributed through Maven Central

Add repository in the root build.gradle

allprojects {
    repositories {
        mavenCentral()
    }
}

Add required modules:

  • 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}'

Related articles