Introdução
💡 O que é Module Federation?
Module Federation é um padrão arquitetural para descentralizar aplicações JavaScript, semelhante aos microsserviços no lado do servidor. Ele permite compartilhar código e recursos entre várias aplicações JavaScript, ou micro-frontends. Isso pode ajudar você a:
- Reduzir duplicação de código
- Melhorar a manutenção do código
- Diminuir o tamanho geral das suas aplicações
- Melhorar o desempenho das suas aplicações
✨ O que é Module Federation 2.0?
Module Federation 2.0 difere do Module Federation integrado ao Webpack5 por oferecer não apenas os recursos centrais de exportação de módulos, carregamento e compartilhamento de dependências, mas também dicas dinâmicas de tipos, Manifest, Federation Runtime e Runtime Plugin System. Esses recursos tornam o Module Federation mais adequado para uso como arquitetura de micro-frontends em aplicações Web de grande escala.
🔥 Recursos
Module Federation possui os seguintes recursos:
- ⚡ Compartilhamento de código e reutilização de dependências
- 📝 Manifest
- 🎨 Module Federation Runtime
- 🧩 Sistema de Runtime Plugins
- 🚀 Dicas dinâmicas de tipos
- 🛠️ Chrome Devtool
- 🦀 Suporte a Rspack e Webpack
🎯 Casos de uso
Module Federation é adequado para os seguintes cenários:
- Aplicações grandes: Em aplicações grandes, você pode dividir a aplicação em vários micro-frontends e usar Module Federation para compartilhar código e recursos entre eles.
- Arquitetura de micro-frontends: Module Federation é uma ferramenta ideal para construir arquiteturas de micro-frontends.
- Desenvolvimento por múltiplas equipes: Module Federation pode ajudar várias equipes a colaborar no desenvolvimento de aplicações grandes.
🕠 História do Module Federation
Module Federation é um recurso introduzido no Webpack 5, mas sua história remonta a 2017. Naquela época, a equipe do Webpack começou a explorar uma forma de compartilhar código entre várias aplicações.
-
Em 2018, o Webpack 4.20 foi lançado, introduzindo hooks de módulo, que estabeleceram a base para o desenvolvimento do Module Federation.
-
Em 2019, o Webpack 5 foi lançado, introduzindo oficialmente o recurso Module Federation.
Module Federation se tornou uma ferramenta poderosa para construir aplicações web modernas.
🕰️ O futuro do Module Federation
Module Federation busca se tornar um método arquitetural para construir grandes aplicações web, semelhante aos microsserviços no backend. Module Federation fornecerá mais capacidades para atender às necessidades fundamentais de descentralização de grandes aplicações web, incluindo atualmente estas partes:
- Fornecer ferramentas completas de Devtool
- Oferecer mais capacidades de alto nível para frameworks, como Router, Sandbox e SSR
- Fornecer boas práticas para grandes aplicações web baseadas em Module Federation
Siga-nos
✨ Próximos passos
Talvez você queira: