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