移动开发

flutter-implementing-navigation-and-routing

flutter/agent-plugins

Handles routing, navigation, and deep linking in a Flutter application. Use when moving between screens or setting up URL-based navigation.

  • 9272 次安装
  • 3100 星标
  • 收录于

安装命令

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

SKILL.md

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

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