Mobile 2,811 installs

Implementing Routing and Deep Linking

by flutter/skills

Configure `MaterialApp.router` using a package like `go_router` for advanced URL-based navigation. Use when developing web applications or mobile apps that…

Skill content

Implementing Routing and Deep Linking

Contents

- Core Concepts

- Workflow: Initializing the Application and Router

- Workflow: Configuring Platform Deep Linking

- Workflow: Implementing Nested Navigation

- Examples

Core Concepts

Use the go_router package for declarative routing in Flutter. It provides a robust API for complex routing scenarios, deep linking, and nested navigation.

- GoRouter: The central configuration object defining the application's route tree.

- GoRoute: A standard route mapping a URL path to a Flutter screen.

- ShellRoute / StatefulShellRoute: Wraps child routes in a persistent UI shell (e.g., a BottomNavigationBar). StatefulShellRoute maintains the state of parallel navigation branches.

- Path URL Strategy: Removes the default # fragment from web URLs, essential for clean deep linking across platforms.

Workflow: Initializing the Application and Router