StoreFlow is yet another kotlin multiplatform “port” of Redux for Javascript / ReduxKotlin. What sets it apart is that instead of trying to faithfully re-create the Redux api, we leverage kotlin’s coroutines and Flows to handle the heavy lifting. StoreFlow uses much of the same terminology as the aforementioned projects but our creation and usage patterns differ. We will not attempt to explain the core concepts, theory or motivation of Redux here; the ReduxKotlin intro docs are recommended reading if unfamiliar with the Redux pattern.

Readme Index

Installation

Redux StoreFlow artifacts are published to Maven Central with gradle metadata. We currently ship the following modules…

StoreFlow v1.0.1 is compiled against Kotlin v1.7.10 and Coroutines v1.6.4

def reduxVersion = "1.0.1"
dependencies {
  // core api & implementation
  implementation "com.episode6.redux:store-flow:$reduxVersion"
  // Support for Side Effects / SideEffectMiddleware
  implementation "com.episode6.redux:side-effects:$reduxVersion"
  // A StoreFlow that dispatches a SubscriberStatusChanged Action
  implementation "com.episode6.redux:subscriber-aware:$reduxVersion"
  // Jetpack Compose Multiplatform support
  implementation "com.episode6.redux:compose:$reduxVersion"
  // Unit-testing support module
  testImplementation "com.episode6.redux:test-support:$reduxVersion"
}

Snapshots are available in the sonatype snapshot repo at https://oss.sonatype.org/content/repositories/snapshots/