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
- StoreFlow Core Api
- SideEffects
- Subscriber Aware StoreFlow
- Jetpack Compose Support
- Unit Test Support
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/