Article URL: https://kaisel.dev/ Comments URL: https://news.ycombinator.com/item?id=49135985 Points: 20 # Comments: 0

The getting started guide takes you from install to navigating with typed routes in a few minutes — sealed class, exhaustive switch, done. Navigation is a switch over a sealed type. Add a route and the compiler finds every place that must handle it — no runtime “unknown route” left. Your history is a List of route objects. Push, pop, and set are list operations — testable without a widget tree, restorable across process death. Register a standard NavigatorObserver once — it sees tab switches and adaptive in-place changes that produce no route event in other routers. No build_runner, no generated files, no magic strings. Routes are plain Dart classes you already know how to write.