The king is dead, long live the king!
How compose-router came to be
December 2019 — Jetpack Compose was at its 0.1.0-dev03 version in — still one and half a year before its 1.0, with constantly changing APIs and many “under construction” parts. It was messy, but it was already mind-blowing. Not many of my friends considered playing with it just yet though.
Compose-router was born out of curiosity in this era. Compose is declarative, and I wanted to see how that would work in the context I’d been working:
- Could I implement a declarative, nested navigation tool, similarly to the one we implemented in badoo/RIBs?
- Could I implement a nested back press handler to automatically go back in navigation history? (Mind you: Compose didn’t have a back handling mechanism at the time yet)
I published the results to these questions in this article:
Implementing back navigation with Jetpack Compose
Screen history with back stacks based on declarative routing
And compose-router was born — proud to say it was the very first of its kind in Compose land.
Why is it time to sunset it now?
Because there’s something even better!
Compose-router was an experiment — since then, my colleagues and I have been working on something much more powerful. We’ve just announced Appyx the other day:
Appyx is released! (1.0-alpha02)
A modern, clean approach to structuring your Android application
- Beautiful animations
- Navigation engines
- Proper lifecycle scoping
- …and many more…
You can check it out at:
If you had a project using compose-router, it should be very easy to switch to Appyx.