Introducción

💡 ¿Qué es Module Federation?

Module Federation es un patrón arquitectónico para descentralizar aplicaciones JavaScript (similar a los microservicios en el lado del servidor). Te permite compartir código y recursos entre varias aplicaciones JavaScript (o micro-frontends). Esto puede ayudarte a:

  • Reducir la duplicación de código
  • Mejorar la mantenibilidad del código
  • Reducir el tamaño total de tus aplicaciones
  • Mejorar el rendimiento de tus aplicaciones

✨ ¿Qué es Module Federation 2.0?

Module Federation 2.0 se diferencia del Module Federation integrado en Webpack5 en que no solo ofrece las funcionalidades principales de exportación de módulos, carga y compartición de dependencias, sino también sugerencias de tipos dinámicas, Manifest, Federation Runtime y Runtime Plugin System. Estas funcionalidades hacen que Module Federation sea más adecuado como arquitectura de micro-frontends en aplicaciones Web a gran escala.

🔥 Funcionalidades

Module Federation ofrece las siguientes funcionalidades:

🎯 Casos de uso

Module Federation es adecuado para los siguientes escenarios:

  • Aplicaciones grandes: en aplicaciones grandes, puedes dividir la aplicación en varios micro-frontends y usar Module Federation para compartir código y recursos entre ellos.
  • Arquitectura de micro-frontends: Module Federation es una herramienta ideal para construir arquitecturas de micro-frontends.
  • Desarrollo con varios equipos: Module Federation puede ayudar a varios equipos a desarrollar de forma colaborativa aplicaciones grandes.

🕠 Historia de Module Federation

Module Federation es una funcionalidad introducida en Webpack 5, pero su historia se remonta a 2017. En aquel momento, el equipo de Webpack empezó a explorar una forma de compartir código entre varias aplicaciones.

  • En 2018 se publicó Webpack 4.20, que introdujo los hooks de módulos y sentó las bases para el desarrollo de Module Federation.

  • En 2019 se publicó Webpack 5, que introdujo oficialmente la funcionalidad de Module Federation.

Module Federation se ha convertido en una herramienta potente para construir aplicaciones web modernas.

🕰️ El futuro de Module Federation

Module Federation aspira a convertirse en un método arquitectónico para construir aplicaciones web grandes, similar a los microservicios en el backend. Module Federation ofrecerá más capacidades para cubrir las necesidades fundamentales de la descentralización de aplicaciones web grandes, que actualmente incluyen:

  • Ofrecer herramientas Devtool completas
  • Ofrecer más capacidades de framework de alto nivel, como Router, Sandbox y SSR
  • Ofrecer buenas prácticas para aplicaciones web grandes basadas en Module Federation

Síguenos

✨ Próximos pasos

Quizá quieras: