Skip to content
James Shvarts edited this page Feb 18, 2019 · 2 revisions

Roxie is an adaptation of Unidirectional Data Flow on Android. This design pattern is known as MVI (Model-View-Intent).

Data Flow with Roxie

User interacts with a screen producing Intentions (Actions). Actions get converted into States via a Reducer. The States get rendered by the View which is observed by the UI (user). The user reacts to new States by sending new Actions and the unidirectional cycle continues.

The result is a user-centric data flow where the user directly interacts with 2 out of the 3 components of the architecture.

This guide contains explanation and samples of using Roxie based on a simple Note-taking app. The library combined with Clean Architecture concepts are flexible enough that we successfully use it at WW to deliver high-quality features with good test coverage on-time.

For more details, check out the sample app or explore the following wiki pages: