Who would have thought that three grown adults could spend an entire hour discussing how to transition from one app screen to another? However, don’t be quick to jump to conclusions. Delving into the topic of navigation, we fell down a deep rabbit hole with many exits (none of which lead the right way). It turned out to be quite interesting.
We not only dissected the most popular existing solutions but also delved into basic concepts. First, we separated the router from the navigator, then got acquainted with the "templater," figuring out when they shoot themselves in the foot and whom they target. Lastly, we discussed octopus and why it’s recommended to use it with great caution. A special "body bag" was also found for the original implementation of navigation in the framework itself – as it has some issues.
🎙 On the mic: Evgeniy Saturov (Surf), Mark Abramenko (Surf), Mikhail Matyunin (aka Fox).
Mentioned in the episode:
👩💻Navigation Graph (Android) (https://developer.android.com/guide/navigation/design)
👩💻Navigation and routing (Flutter) (https://docs.flutter.dev/ui/navigation)
👉go_router (https://pub.dev/packages/go_router)
👉auto_route (https://pub.dev/packages/auto_route)
👉beamer (https://pub.dev/packages/beamer)
🐙octopus (https://pub.dev/packages/octopus)
🐙 Stream on octopus: https://youtu.be/bIst8LmnrAk
🐙 Example implementation of navigation using octopus: https://octopus.plugfox.dev/
🐙 Example implementation of declarative navigation without a router: https://dartpad.dev/?id=053d267fe59bc65da0d6fb9e9dd7e374