ReduxKotlin

1 min read

Redux state management for Kotlin Multiplatform: a port of the JavaScript Redux library supporting Android, iOS, JVM, and native targets.

ReduxKotlin is a port of the JavaScript Redux library to Kotlin, with full Kotlin Multiplatform support. It enables the same predictable state-management patterns used in web frontends on Android, iOS, JVM, macOS, Linux, and WASM targets, sharing state logic across platforms.

Problem it solves

Mobile apps often have complex, asynchronous state spread across multiple screens. Redux’s unidirectional data flow (actions → reducer → new state) makes state changes predictable and testable. By porting Redux to Kotlin Multiplatform, teams can write shared business logic and state management once and run it on every Kotlin target.

A key challenge on native platforms is thread safety: unlike JavaScript’s single-threaded environment, Kotlin/Native requires careful handling of shared mutable state. ReduxKotlin addresses this with a thread-safe store implementation.

Key details

  • Site: reduxkotlin.org
  • GitHub: reduxkotlin
  • Published to Maven Central via GitHub Actions CI across Linux, macOS, and Windows build environments
  • Ecosystem includes Thunk middleware and Presenter-middleware
  • Talk: “ReduxKotlin.org: Redux for All Kotlin Platforms” at Droidcon NYC 2019 (video)

Status

Active open-source project. Patrick is the author and maintainer.