Navigation and routing

UI

Navigation and routing

Using the Navigator

Using named routes

Limitations

Using the Router

Using Router and Navigator together

Web support

More information

Flutter provides a complete system for navigating between screens and handling
deep links. Small applications without complex deep linking can use
Navigator, while apps with specific deep linking and navigation
requirements should also use the Router to correctly handle deep links on
Android and iOS, and to stay in sync with the address bar when the app is
running on the web.

To configure your Android or iOS application to handle deep links, see 
Deep linking.

Using the Navigator

The Navigator widget displays screens as a stack using the correct transition
animations for the target platform. To navigate to a new screen, access the
Navigator through the route’s BuildContext and call imperative methods such
as push() or pop():