bansa v1.0.0-beta Release Notes

Release Date: 2016-05-05 // over 5 years ago
  • The early versions of this project were fun experiments in Kotlin. As I played around with it more and talked to others, I hoped I might make this project useful to others, rather an as a simple experiment.

    Therefore, I set down the following criteria for what I wanted from the library:

    • Idiomatic Java and Kotlin usage
    • Low method count
    • 👌 Support for all basic Redux concepts in the smallest possible package. This includes the Store, Middleware, Reducers, and Subscribers/Subscriptions.
    • Dev Tools that allow for Time Travel debugging
    • ✅ Well tested

    As this library now meets those goals, I think it's time to give it a beta label. Please try it out in your projects, and if we find it's all stable, we'll publish to 1.0.0 soon!

    🍱 devtools


Previous changes from v0.3.0

  • This is a big change! Bansa is now written in Java, and no longer has a dependency on Rx. This drops the method count dramatically, and makes Bansa far easier to use in a normal Java Android app.

    There is also a companion version available, called bansaKotlin, that provides more idiomatic interfaces for the Kotlin programming language.

    I've also tried to keep the migration path simple. If you've been using Bansa, it shouldn't be a big rewrite of the way you were doing things before. The most important changes:

    • ⬇️ Reducers are no longer lambdas, but proper classes. I.e. move from { state: MyState, action: Any ->... to Reducer<MyState, Any> { state, action ->...
    • Bansa now provides it's own small Subscriber and Subscription interfaces, replacing RxJava versions.
    • ✅ The constructor for creating a store using Middleware has been simplified. createStore(intialState, reducer) is now BaseStore(initialState, reducer, Middleware...)