Mobile applications will often contain more than one screen. If you are an Android or iOS developer, you probably know about Activity or ViewController classes that represent screens on those platforms respectively.
An important class in navigation between screens in Flutter is the Navigator widget that is responsible for managing screen changes with a logical history idea.
A new screen in Flutter is just a new widget that is placed in front of another. This is managed by the concept of Routes, which defines possible navigation in the app. As you may already have guessed, the Route class is a helper for Flutter to work on the navigation workflow.
The main players in the navigation layer are as follows:
- Navigator: The Route manager
- Overlay: Navigator uses this to specify appearances of the routes
- Route: A navigation endpoint