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 ->...
toReducer<MyState, Any> { state, action ->...
- Bansa now provides it's own small
Subscriber
andSubscription
interfaces, replacing RxJava versions. - The constructor for creating a store using Middleware has been simplified.
createStore(intialState, reducer)
is nowBaseStore(initialState, reducer, Middleware...)