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

Curtiu a ideia? Já aplicou MF no seu projeto ou tem dúvidas sobre onde usar? Bora conversar nos comentários 👇