Acorn turns your navigation back stack in a composable and decoupled navigation structure.

At its core, Acorn is a set of interfaces that describe the basics of mobile screen navigation. A Scene interface represents a screen and can be regarded as a basic building block for the application flow. Navigators control this application flow, and can be composed together to form a large structure. Finally, Containers form the boundary between your presentation layer and the UI elements.

On top of this, Acorn provides an extensive set of default implementations to do the work for you: several base Scene implementations that provide the basics, and a couple of Navigators that can be composed together to create the navigational structure that you need.

Acorn decouples the UI from navigation, meaning the user interface becomes a plugin into the navigational state. This gives you full control over your view elements and especially your transition animations.

In the Wiki section you can find information on several topics when working with Acorn.

Note: this documentation website is work in progress, and some sections may be missing or incomplete.