skills.vishalvoidskills/vishalvoid
Technical & DevelopmentIntermediate

flutter-implementing-navigation-and-routing

Handle routing, navigation, and deep linking

Developer Setup

Setup & Installation

bash
npx skills add https://github.com/flutter/skills --skill flutter-implementing-navigation-and-routing

Overview

What This Skill Does

Handle routing, navigation, and deep linking

Application

When to use this Skill

Documentation

Show Skills.md file

Implementing Navigation and Routing in Flutter

Contents

Core Concepts

  • Routes: In Flutter, screens and pages are referred to as routes. A route is simply a widget. This is equivalent to an Activity in Android or a ViewController in iOS.
  • Navigator vs. Router:
    • Use Navigator (Imperative) for small applications without complex deep linking requirements. It manages a stack of Route objects.
    • Use Router (Declarative) for applications with advanced navigation, web URL synchronization, and specific deep linking requirements.
  • Deep Linking: Allows an app to open directly to a specific location based on a URL. Supported on iOS, Android, and Web. Web requires no additional setup.
  • Named Routes: Avoid using named routes (MaterialApp.routes and Navigator.pushNamed) for most applications. They have rigid deep linking behavior and do not support the browser forward button. Use a routing package like go_router instead.

Implementing Imperative Navigation

Use the Navigator widget to push and pop routes using platform-specific transition animations (MaterialPageRoute or CupertinoPageRoute).

Pushing and Popping

  • Navigate to a new route using Navigator.push(context, route).
Lines 1 - 25 of 197

Recommendations

Explore other random skills

All skillsMy patterns