Patrick Jackson · blog
Back

Series

ReduxKotlin 1.0

9 published

9articles in reading order.

  1. ReduxKotlin 1.0

    ReduxKotlin 1.0.0-alpha04 is on Maven Central. A concurrent store, granular subscriptions, Compose bindings, DevTools, and a CLI. Here is what changed, and why.

  2. One Store, Nine Targets

    The exact KMP target matrix for ReduxKotlin 1.0: what every module supports, what got dropped, and the single platform shim the Redux layer actually needs.

  3. ConcurrentStore: Reads That Don't Wait

    The thread-safe store I recommended in 2020 put a lock around every function, including getState. ConcurrentStore keeps writes serialized and makes reads lock-free.

  4. Granular Subscriptions: Stop Diffing By Hand

    store.subscribe fires on every dispatch, so everyone hand-rolls the same re-read-and-compare boilerplate. subscribeTo does the diffing and only calls back on change.

  5. ReduxKotlin + Compose: Bind the Narrowest Slice

    No provider, no CompositionLocal, no hooks. You pass the store as a parameter, and each component binds exactly the slice it renders. Then you prove it with a test.

  6. Surviving Rotation and Process Death

    A singleton store survives rotation for free and dies with the process. StateSaver fixes that in four lines. Then there's the bug you hit after it works.

  7. Redux DevTools, Outside the Browser

    An in-app debug drawer, a desktop monitor with time travel, and a CLI that prints one JSON object per line: three surfaces over one instrumented store.

  8. Screenshot Tests Where the Input Is State

    rk snapshot renders real Compose screens from seeded store state and diffs them against goldens. Plus a semantics dump that catches what pixel diffing misses.

  9. ReduxKotlin for Coding Agents

    An agent that can't tell whether its change worked will loop, confidently, until your tokens run out. Most of the 1.0 cycle went into fixing that.