Rotas e injeção de dependência modulares para Flutter com GoRouter. Recursos de arquitetura orientada a eventos para comunicação entre módulos sem problemas e suporte a micro-frontends.
Orientação gerada a partir de informações públicas. Apenas para referência.
GoRouter Modular é um pacote Flutter que aprimora o GoRouter com roteamento modular e injeção de dependência, permitindo arquitetura de aplicativos escalonáveis. Ele suporta comunicação baseada em eventos entre módulos e facilita padrões de micro-frontends. Projetado para aplicações em grande escala, promove separação de código, reutilização e desenvolvimento independente de módulos. O pacote se integra perfeitamente ao GoRouter, ampliando suas capacidades para navegação complexa e gerenciamento de estado em componentes modulares.
Casos de uso
Aplicações Flutter em grande escala
Arquiteturas de microfront-end
Desenvolvimento de aplicativos modular
Implantação de módulo independente
Comunicação entre módulos baseada em eventos
Sistemas de navegação escaláveis
Principais recursos
Roteamento modular com GoRouter
Injeção de dependência embutida
Comunicação de módulos baseada em eventos
Suporte para micro-frontends
Integração fácil de módulos
Compatibilidade multiplataforma
Indicado para
Desenvolvedores construindo aplicativos complexos do Flutter
Equipes usando arquitetura modular
Projetos que exigem componentes de interface reutilizáveis
Aplicativos com múltiplos módulos de funcionalidade
Equipes de engenharia priorizando escalabilidade
Considerações
Requer conhecimento de GoRouter
Curva de aprendizado mais acentuada para iniciantes
Configuração adicional para registro de módulo
Pode aumentar a complexidade da compilação
Mais adequado para projetos maiores do que aplicativos pequenos
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
🧩 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: