Routing and navigation

Most apps have more than one screen or view, and want to smoothly transition a user from screen to screen. Flutter’s routing and navigation features help you manage naming and transitioning between screens in your app.

Core concepts

There are two core concepts and classes for managing multiple screens: Route and Navigator. A Route is an abstraction for a “screen” or “page” of an app, and a Navigator is a widget that manages routes. A Navigator can push and pop routes to help a user move from screen to screen.

To get started, we recommend reading the API docs for Navigator. There you will learn about the different kinds of routes, naming routes, route transitions, and more.


The stocks example has a simple example of how to declare named routes for a MaterialApp.

The Navigator API docs contain a few examples of pushing and popping a route, named routes, routes that return a value, and more.