Modulare Routing- und Abhängigkeitsinjektion für Flutter mit GoRouter. Funktioniert mit ereignisgesteuerter Architektur für nahtlose Modulkommunikation und Micro-Frontend-Unterstützung.
Aus öffentlichen Paketdaten erstellte Orientierung.
GoRouter Modular ist ein Flutter-Paket, das GoRouter durch modularen Routing und Abhängigkeitsinjektion erweitert und eine skalierbare App-Architektur ermöglicht. Es unterstützt ereignisgesteuerte Kommunikation zwischen Modulen und fördert Mikro-Frontend-Muster. Für großskalige Anwendungen konzipiert, fördert es Code-Trennung, Wiederverwendbarkeit und unabhängige Modulentwicklung. Das Paket integriert sich nahtlos mit GoRouter und erweitert dessen Fähigkeiten für komplexe Navigation und Zustandsverwaltung über modulare Komponenten hinweg.
Anwendungsfälle
Großskalige Flutter-Anwendungen
Micro-Frontend-Architekturen
Modulare App-Entwicklung
Unabhängige Modulbereitstellung
ereignisbasierte Kommunikation zwischen Modulen
Skalierbare Navigationsysteme
Hauptmerkmale
Modulares Routing mit GoRouter
Eingebaute Abhängigkeitsinjektion
ereignisbasierte Modulkommunikation
Unterstützung für Micro-Frontends
Einfache Modulintegration
Plattformübergreifende Kompatibilität
Geeignet für
Entwickler, die komplexe Flutter-Apps erstellen
Teams, die modulare Architektur verwenden
Projekte, die wiederverwendbare UI-Komponenten erfordern
Apps mit mehreren Funktionsmodulen
Engineering-Teams, die Skalierbarkeit priorisieren
Hinweise
Kenntnis von GoRouter erforderlich
Steiler Lernkurve für Anfänger
Zusätzliche Einrichtung für Modulregistrierung
Kann die Build-Komplexität erhöhen
Am besten geeignet für größere Projekte statt kleiner Apps
Original-README
Originaler README-Schnappschuss aus dem verknüpften Quell-Repository. Aktuelle Inhalte finden Sie im Repository.
🧩 GoRouter Modular 💉
Modular architecture, dependency injection & route management on top of GoRouter.
GoRouter Modular brings a modular architecture on top of GoRouter, with per-module dependency injection and automatic dispose. Split a large app into independent, lazy-loaded feature modules — perfect for micro frontends and scalable, team-friendly codebases. 🚀
💡 Inspired by flutter_modular by Flutterando — we're grateful for their contribution to the Flutter ecosystem.
✨ Features
🧩 Modular Architecture
Independent, reusable feature modules
💉 Dependency Injection
Built-in DI with automatic dispose
🛣️ GoRouter Integration
Type-safe, declarative navigation
🎭 Event System
Decoupled, event-driven communication between modules
🚀 Lazy Loading
Modules load on demand with efficient memory management
context.goNamed('profile'); // replace the stack
context.pushNamed('home'); // push on topfinal controller = Modular.get<HomeController>(); // resolve a dependency
🤖 Agent Skill
This repo ships an Agent Skill that teaches AI coding agents (Claude Code, Cursor, Codex, OpenCode, and others) the recommended conventions for this package — per-feature route files, named-only navigation, typed binds via the .. cascade, synchronous modules, and kDebugMode-gated logs. The agent then applies them automatically when you scaffold routes, modules, or navigation.
Install it into your project with one command (via the skills CLI):
The CLI detects your installed agents and drops the skill into the right place (e.g. .claude/skills/). Add -g to install it globally for every project.
Optional — events add-on
If your app uses the event system (EventModule, ModularEvent, ModularEventMixin) for decoupled cross-module communication, install the separate events skill too: