No meu artigo anterior, mostrei como montei um projeto com Micro Frontends usando Rsbuild, Module Federation, pnpm e Lerna , tudo rodando num monorepo. Agora, quero dar um passo além e explicar o “porquê” dessa escolha.
💡 O que é Module Federation?
É uma forma de compartilhar código entre diferentes aplicações em tempo de execução. Funciona como se um app pudesse importar um componente diretamente do outro — sem instalar, copiar ou duplicar código.
Exemplo real no meu repositório:
📦 mf_provider(chamo de componente filho): expõe um componente Button
📦 mf_consumer_(_chamo de componente pai): consome esse mesmo Header, remotamente, sem precisar tê-lo no código local
🚧 Que problema ele resolve?
✅ Evita reescrever os mesmos componentes em diferentes apps (pelo menos tenta)
✅ Permite deploys independentes (independência de times)
✅ Melhora a escalabilidade de grandes projetos
✅ Facilita refatorações e testes A/B isolados
✅ Acelera o desenvolvimento com reuso real de UI e lógica
⚠️ E quando NÃO usar?
“Você não precisa de Micro Frontends… até precisar.”
Nem todo projeto precisa disso.
🔸 Se o projeto é pequeno e centralizado, pode ser complexidade desnecessária
🔸 Se as equipes compartilham tudo e fazem deploy juntos, MF talvez seja overkill
🔸 Se o bundle não é um problema, pode usar libs compartilhadas internas
🚀 Quer ver isso funcionando de verdade? O repositório tá aqui:
+Dicas de leitura
Leitura sugerida
- Microfrontend with React (e-book)
- Building Micro-Frontends: Scaling Teams and Projects, Empowering Developers
- Untangling Microfrontends: A full spectrum guide balancing Code, Culture, and Scaling Success: …with React, Typescript and Module Federation (English Edition)
Curtiu a ideia? Já aplicou MF no seu projeto ou tem dúvidas sobre onde usar? Bora conversar nos comentários 👇