To learn about Flutter’s original (1.0)
navigation and routing mechanism,
see the Navigation recipes in the
Flutter cookbook and the
Navigator API docs.
The original navigation model uses an imperative approach.
To learn about Flutter’s updated (2.0) navigation and routing mechanism, which uses a declarative approach, see Learning Flutter’s new navigation and routing system.
Note that this new mechanism isn’t a breaking change—you can continue to use the original approach if that serves you well. If you want to implement deep linking, or take advantage of multiple navigators, check out the 2.0 version.