Aus öffentlichen Paketdaten erstellte Orientierung.
Routemaster ist eine leichte und einfach zu verwendende Routing-Lösung für Flutter-Anwendungen auf Web-, Mobile- und Desktop-Plattformen. Sie ermöglicht URL-basierte Navigation mit Unterstützung für verschachtelte Routen und tabbasierte Navigation und vereinfacht die Verwaltung komplexer Routen. Mit Fokus auf Einfachheit und Entwicklererfahrung entwickelt, integriert sich Routemaster nahtlos in bestehende Flutter-Projekte. Ihre saubere API ermöglicht intuitive Handhabung von Routenübergängen, dynamischen Parametern und Deep Linking. Ideal für Apps, die strukturierte Navigation ohne Boilerplate-Code benötigen.
Anwendungsfälle
Einseitige Anwendungen mit dynamischem Inhalt
Mehrfachregister-Oberflächen auf Mobilgeräten und im Web
Verschachtelte Routenstrukturen in komplexen Benutzeroberflächen
Tiefverknüpfung und URL-Synchronisierung
Plattformübergreifende Anwendungen, die eine konsistente Routing benötigen
Einfache Navigation mit minimalem Setup
Hauptmerkmale
URL-basierte Routing
Unterstützung für verschachtelte und tabbige Routen
Minimales Boilerplate
Plattformübergreifende Kompatibilität
Einfache Integration in bestehende Flutter-Apps
Dynamische Routenparameter
Geeignet für
Entwickler, die plattformübergreifende Flutter-Anwendungen erstellen
Teams, die saubere, wartbare Routing-Logik priorisieren
Projekte, die Tiefverknüpfung oder SPA-ähnliches Verhalten erfordern
Apps mit komplexen Navigationshierarchien
Anfänger, die eine intuitive Routing-Lösung suchen
Hinweise
Beschränkt auf das native Navigationsmodell von Flutter
Kann zusätzliche Zustandsverwaltung für erweiterte Anwendungsfälle erfordern
Nicht ideal für hochgradig benutzerdefinierte Routing-Verhaltensweisen über Standardmuster hinaus
Keine integrierte Unterstützung für Route-Guards oder Authentifizierungs-Weiterleitungen
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
Routemaster
Hello! Routemaster is an easy-to-use router for Flutter, which wraps over Flutter's Router API.
Features
Simple declarative mapping from URLs to pages
Easy-to-use API: just Routemaster.of(context).push('/page')
Really easy nested navigation support for tabs
Multiple route maps: for example one for a logged in user, another for logged out
Observers to easily listen to route changes
Covered by over 250 unit, widget and integration tests
Here's the entire routing setup needed for an app featuring tabs and pushed routes:
Routemaster generates pages based on the current path. This is the key concept of its path-base routing. Path structure matters.
It uses the path to decide where a page should be pushed. This means the path needs to match your intended page hierarchy.
For example:
'/tabs': (route) => TabPage(child: HomePage(), paths: ['one', 'two']),
// First tab default page'/tabs/one': (route) => MaterialPage(child: TabOnePage()),
// Second tab default page'/tabs/two': (route) => MaterialPage(child: TabTwoPage()),
// Second tab sub-page: will be displayed in the 2nd tab because it// starts with '/tabs/two''/tabs/two/subpage': (route) => MaterialPage(child: TabTwoPage()),
// Not a tab page: will not be displayed in in a tab// because the path doesn't start with '/tabs/one' or '/tabs/two''/tabs/notInATab': (route) => MaterialPage(child: NotTabPage()),
Any child paths that begin with /tabs/one or /tabs/two will be pushed into the correct tab.
When navigating to /tabs/two/subpage, the TabPage will be asked "hey, do you know how to handle this path?" and it'll go "sure! it starts with /tabs/two, so it goes in my second tab".
However, navigating to /tabs/notInATab will not be displayed in a tab, but pushed on top of the tab bar.
TabPage will be all "yeah sorry, no idea what to do with that, doesn't match any of my tab paths" and its parent will be asked to hande it.