-
Notifications
You must be signed in to change notification settings - Fork 98
Home
Mobius is a functional reactive framework for managing state evolution and side-effects, with add-ons for connecting to Android UIs and RxJava Observables. It emphasizes separation of concerns, testability, and isolating stateful parts of the code.
To learn more, start with reading the Concepts overview.
The latest version of Mobius is available through Maven Central (LATEST_RELEASE below is ):
com.spotify.mobius:mobius-core:LATEST_RELEASE
com.spotify.mobius:mobius-test:LATEST_RELEASE
com.spotify.mobius:mobius-extras:LATEST_RELEASE
com.spotify.mobius:mobius-rx:LATEST_RELEASE
com.spotify.mobius:mobius-rx2:LATEST_RELEASE
com.spotify.mobius:mobius-android:LATEST_RELEASE
This is the core of Mobius, which all other modules depend on. It is a pure Java library that is completely self-contained. This is the only module that you need when using Mobius, because the others are optional extensions to the core.
The test module contains utilities that help you write tests for Mobius applications. It should only be used as a test dependency.
The extras module contains utilities and classes that help reducing boilerplate for some more advanced usage patterns (for example, nested update functions).
The rx modules contain extensions for RxJava. You should use one of them in your Mobius applications since they simplify creating effect handlers and event sources. Both RxJava modules share the same API, the only difference is that one is built for RxJava 1.x and the other for RxJava 2.x.
The android module primarily contains classes for hooking up a MobiusLoop to Android.
Getting Started
- Creating a loop
- Mobius and RxJava
- Mobius and Android
- Configuring a MobiusLoop
- Logging and Error Handling
Reference Guide
Patterns