Sunsetting compose-router
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:
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:
Compose-router was the early pioneer for what Appyx can do today. They are conceptually similar — but Appyx is superior in every way:
- Beautiful animations
- Navigation engines
- Proper lifecycle scoping
- Plugins
- …and many more…
You can check it out at:
- GitHub repo: https://github.com/bumble-tech/appyx
- Project page: https://bumble-tech.github.io/appyx/
If you had a project using compose-router, it should be very easy to switch to Appyx.
Happy coding!