Kaisel – Routes as Values. Dart 3 Native Router for Flutter
3 hours ago
- Navigation is a switch over a sealed type; adding a route forces the compiler to find every place that must handle it, eliminating runtime 'unknown route' errors.
- The navigation stack is a value represented as a list of route objects, allowing push, pop, and set operations that are testable and restorable.
- A single NavigatorObserver sees all navigation events, including tab switches and adaptive in-place changes that produce no route events in other routers.
- Zero code generation is required—no build_runner, no generated files, no magic strings; routes are plain Dart classes.