The basics of navigation in Flutter
Any production-level application requires multiple pages on which to display information. In order to manage multiple pages, we need to provide proper navigation support for users. Flutter provides different APIs for navigation. In this section, we will look at the imperative navigation API provided by an early version of Flutter, which is still effectively used. There are some shortcomings of this type of navigation, which is why the new declarative navigation API was introduced. We will look into these shortcomings, and in the next section, we will look at the new declarative navigation API.
To use Flutter’s imperative navigation, we need to understand two terms:
- Navigator:
Navigator
is a widget that manages a stack ofRoute
objects. - Route: Route is an object managed by
Navigator
that represents a screen. This is typically implemented by classes such asMaterialPageRoute
.
When using imperative navigation, we use various...