¿Es Module Federation adecuado para ti?

Rate this content
Bookmark

Descubre los Micro Frontends con Module Federation. Aprende sobre los beneficios y desafíos para que puedas decidir si los Micro Frontends son adecuados para tu organización.

FAQ

Los micro-frontends son un enfoque de desarrollo web que permite descomponer aplicaciones front-end grandes y complejas en piezas más pequeñas y manejables. Cada pieza puede ser desarrollada, probada y desplegada de manera independiente, lo que facilita la escalabilidad y la eficiencia en equipos grandes.

La federación de módulos es una técnica utilizada en desarrollo web que permite compartir dinámicamente código y funcionalidades entre múltiples aplicaciones JavaScript de manera eficiente. Facilita la reutilización de código y ayuda en la gestión de dependencias en aplicaciones grandes.

Los micro-frontends pueden comunicarse utilizando diversos métodos como eventos, servicios, comunicación del lado del servidor, estado compartido, y enrutamiento. Cada método tiene sus ventajas y desventajas, y la elección depende de las necesidades específicas del proyecto y la arquitectura utilizada.

Los micro-frontends ofrecen varios beneficios como la posibilidad de escalar equipos y recursos de manera más efectiva, incrementar la agilidad del desarrollo, realizar pruebas A/B de manera más sencilla, y facilitar las migraciones y actualizaciones de aplicaciones. También permiten una mayor flexibilidad en la elección de tecnologías y herramientas.

Para manejar versiones y dependencias en micro-frontends, es recomendable utilizar versionado semántico y mantener cada versión en subcarpetas separadas en un servidor. Esto permite revertir a versiones anteriores fácilmente y manejar diferentes versiones de dependencias de forma más controlada.

Grgur Grisogono
Grgur Grisogono
191 min
04 Jul, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

Este masterclass sobre micro-frontends abarca temas como dependencias, comunicación entre módulos federados, organización de equipos y compartición de código. Se enfatizan los beneficios de la federación de módulos y los micro-frontends para permitir una operación y colaboración continua. El masterclass proporciona ejemplos prácticos y discute los desafíos de gestionar cambios disruptivos y manejar conflictos. También explora el uso de React como una biblioteca de renderizado de vistas y la importancia de compartir datos y controlar la comunicación entre aplicaciones de características.

1. Introducción a los Micro-Frontends

Short description:

Gracias a todos por unirse a nuestro masterclass. Comenzaremos con una introducción a los micro-frontends y sus beneficios. Luego trabajaremos en ejemplos y discutiremos posibles arquitecturas a nivel de sistema. He trabajado extensamente con Module Federation y Microfurence, implementándolos en numerosos países y millones de usuarios. Durante este masterclass, cubriremos temas como dependencias, comunicación entre módulos federados, modulación en aplicaciones híbridas, organización de equipos y compartición de código. También tendremos una sesión de preguntas y respuestas. Mi objetivo es que salgan de este masterclass sintiéndose informados y preparados para implementar micro-frontends en sus proyectos.

Gracias a todos por unirse a nuestro masterclass hoy. Tenemos aproximadamente 2 horas y media para hablar sobre la federación de módulos, pero realmente no podemos hablar sobre la federación de módulos sin hablar sobre micro-frontends. Así que vamos a hacer una breve introducción sobre qué son los micro-frontends y por qué son útiles, por qué estamos aquí. Y luego trabajaremos en ejemplos.

Cuando terminemos con los ejemplos, si todavía están interesados en la federación de módulos, también voy a mostrarles algunas diapositivas sobre posibles arquitecturas, las arquitecturas a nivel de sistema que pueden elegir. Y también les mostraré algunas diapositivas que he aprendido que funcionan bien al presentar micro-frontends a jefes, empresas, clientes, y demás. Cosas que les gusta escuchar, porque generalmente no hablan el lenguaje de los ingenieros, y quiero compartir algo de eso. Así que lo tendrán. La presentación estará en el repositorio de GitHub, y se los compartiré en un momento.

Pero antes de hacerlo, nuevamente voy a tomar un segundo para presentarme. Mi nombre es, bueno, Gregor es la forma fácil de pronunciarlo, la forma oficial sería Gergoor, lo sé, es terrible, muchos erres rodantes. Pero he estado trabajando con la federación de módulos y Microfurence durante un tiempo, y no soy el inventor de nada de esto. Así que si conocen a personas como Zack Jackson, quien creo que es el cerebro detrás de Microfurence, y Toby Carver de Webpack, esos chicos son increíblemente inteligentes. Pasé mucho tiempo con esos dos a finales de 2020 cuando Madoff Federation estaba disponible, porque lo usamos ampliamente con algunas compañías grandes, no voy a mencionar nombres, pero algunas de las grandes en comunicaciones, en la industria automotriz, en farmacéuticas. Verán sus logotipos al final, pero no los mencionaré. Así que he estado trabajando con micro-frontends durante mucho tiempo y los he implementado en aproximadamente 200 países, y creo que muchos millones de usuarios ya han accedido a algunas de esas cosas, algunos de esos micro-frontends que ayudé a crear. Y hoy solo quiero compartir esa experiencia con ustedes. Quiero compartir, ya saben, hemos pasado por muchos descubrimientos increíbles y momentos difíciles, problemas difíciles de resolver. Porque estos son sistemas altamente escalables. Escalables en términos de infraestructura, escalables en términos de equipos escalables, multinacionales. Así que si trabajan con alguno de ellos, espero que esto les sea útil. Durante este masterclass, hablaremos, nuevamente, sobre qué son los microfrontends y por qué el negocio de ustedes o el negocio de sus clientes debería preocuparse. Crearemos un clúster de aplicaciones de federación de módulos muy, muy simple. Será muy simple porque este es un masterclass introductorio. Y habrá muchos ejemplos para mostrar, muchos problemas y soluciones para mostrar a través de ese pequeño clúster. Mostraremos cómo lidiar con algunos de los problemas más comunes, como trabajar con dependencias, cómo lidiar con los problemas que surgen al trabajar con dependencias, tipos de dependencias, y estrategias para lidiar con diferentes tipos de dependencias. Luego, una de las preguntas más comunes es cómo nos comunicamos entre módulos federados. Y creo que la comunicación es donde se hace o se deshace todo. Voy a mencionar brevemente o hablar brevemente sobre la modulación en aplicaciones híbridas. Así que no tiene que ser solo web. Puede ser híbrido. Puede ser completamente universal, ya sea web, PWA, escritorio o móvil. Hay algunas implicaciones muy interesantes allí. Nuevamente, hablaremos sobre la organización de equipos, la organización de trabajo con sus repositorios, compartición de código. Así que mezclaremos mucho de eso. Finalmente, reservaré tiempo para preguntas y respuestas. Una cosa que quiero que obtengan de esto es que quiero que suenen inteligentes cuando regresen a sus trabajos, a sus compañeros, a quienes hablen, a los meetups. Quiero que suenen inteligentes.

2. Compartiendo Experiencias y Simplificando Conceptos

Short description:

Hoy me sucedió algo interesante, esta mañana, estaba trabajando con uno de esos fabricantes de automóviles, un equipo al que estoy ayudando allí. Tuvimos ciertos problemas con el renderizado del sitio de servicio de la federación modular federada. Pero esos son solo problemas que ocurren con sitios enormes, enormes. Creé una solicitud de extracción y dentro de ella agregué algunas banderas que necesitaba agregar a este Chrome sin cabeza. Voy a compartir algunas cosas, espero que las lleven de vuelta a su trabajo. Voy a tratar de no usar palabras difíciles. Así que si tienen experiencia, por favor intenten escuchar. Si no tienen experiencia, si no son técnicos, espero que puedan comprender de qué estamos hablando.

Hoy me sucedió algo interesante, esta mañana, estaba trabajando con uno de esos fabricantes de automóviles, un equipo al que estoy ayudando allí, me dijeron, así que tuvimos ciertos problemas con el renderizado del sitio de servicio de la federación modular federada. Pero esos son solo problemas que ocurren con sitios enormes, enormes, cuando tienes que ejecutar un servicio que renderiza decenas de miles de páginas al mismo tiempo. Y no sabía cómo resolver el problema. Así que dije, saben, lo buscaré en Google. Lo encontraré y lo agregaré. Así que creé una solicitud de extracción. Y dentro de la solicitud de extracción simplemente agregué algunas banderas que necesitaba agregar a este Chrome sin cabeza. Y dijeron, oh, no sé cómo llegamos a ser tan inteligentes. ¿Cómo encontraste todas esas banderas? Y dije, lo busqué en Google. Así que no fui inteligente. Simplemente lo busqué en Google. Así que este es nuestro momento de compartir, ya saben, no es buscar en Google, pero voy a compartir algunas cosas, espero que las lleven de vuelta a su trabajo. Además, voy a tratar de no usar palabras difíciles. Así que no se van a volver inteligentes de una manera en la que van a usar aplicaciones isomórficas, algo así como ese tipo de terminología, voy a tratar de ser simple. Así que si tienen experiencia, como sé que algunos de ustedes tienen con la iteración de modelos, por favor intenten escuchar. Si no tienen experiencia, si no son técnicos, espero que puedan, por eso espero que puedan comprender de qué estamos hablando.

QnA

Watch more workshops on topic

Micro Frontends con Module Federation y React
JSNation Live 2021JSNation Live 2021
113 min
Micro Frontends con Module Federation y React
Workshop
Alex Lobera
Alex Lobera
¿Alguna vez has trabajado en una aplicación monolítica de Next.js? Yo sí, y escalar una gran aplicación de React para que muchos equipos puedan trabajar simultáneamente no es fácil. Con micro frontends, puedes dividir un monolito frontend en piezas más pequeñas para que cada equipo pueda construir e implementar de forma independiente. En este masterclass aprenderás cómo construir aplicaciones de React grandes que escalen utilizando micro frontends.
Microfrontends con Module Federation y Angular
JSNation Live 2021JSNation Live 2021
113 min
Microfrontends con Module Federation y Angular
Workshop
Manfred Steyer
Manfred Steyer
Cada vez más empresas eligen Microfrontends. Sin embargo, no son fáciles de implementar. Afortunadamente, Module Federation introducido con webpack 5 ha iniciado un cambio crucial de dirección.
En este masterclass interactivo, aprenderás de Manfred Steyer, Angular GDE y Colaborador de Confianza en el equipo de Angular, cómo planificar e implementar arquitecturas de Microfrontend con Angular y el nuevo Module Federation de webpack. Hablaremos sobre compartir bibliotecas y conceptos avanzados como manejar desajustes de versión, Module Federation dinámico e integración en monorepos.
Después de los ejercicios individuales, tendrás un estudio de caso que podrás utilizar como plantilla para tus proyectos. Este masterclass te ayuda a evaluar las opciones individuales para tus proyectos.
Prerrequisitos:Debes tener algo de experiencia con Angular.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
¿Tienes un producto grande construido por muchos equipos? ¿Estás luchando para lanzar a menudo? ¿Se convirtió tu frontend en un monolito inmantenible masivo? Si, como yo, has respondido sí a cualquiera de esas preguntas, ¡esta charla es para ti! Te mostraré exactamente cómo puedes construir una arquitectura de micro frontend con Remix para resolver esos desafíos.
De Monolito a Micro-Frontends
React Advanced Conference 2022React Advanced Conference 2022
22 min
De Monolito a Micro-Frontends
Top Content
Muchas empresas en todo el mundo están considerando adoptar Micro-Frontends para mejorar la agilidad empresarial y la escala, sin embargo, hay muchas incógnitas cuando se trata de cómo se ve en la práctica el camino de migración. En esta charla, discutiré los pasos necesarios para migrar con éxito una aplicación React monolítica a una arquitectura de frontend más modular y desacoplada.
Micro-Frontends con React y Federación de Módulos Vite
React Advanced Conference 2023React Advanced Conference 2023
20 min
Micro-Frontends con React y Federación de Módulos Vite
Top Content
Desde mi experiencia, una de las cosas más difíciles es compartir información entre microfrontends, por lo que en esta charla me gustaría explicar varias formas de compartir un sistema de diseño para garantizar la uniformidad de la aplicación. Otra cosa difícil es compartir dependencias, afortunadamente con la federación de módulos se puede hacer, pero ¿cómo puedo usar diferentes versiones de la misma biblioteca y cómo funciona detrás de escena?
Soy el creador de la biblioteca module-federation/vite, con React y esta biblioteca, me gustaría mostrarte cómo puedes lograr estos resultados configurando todo correctamente.
Microfrontends Federados a Gran Escala
React Summit 2023React Summit 2023
31 min
Microfrontends Federados a Gran Escala
Top Content
La charla será una historia de cómo Personio pasó de renderizar a través de una arquitectura PHP monolítica, a una aplicación Next JS orientada a microfrontends, impulsada por la Federación de Módulos y la cadena de herramientas del monorepositorio NX.
Compartir es Cuidar: ¿Deberían los Micro Frontends Compartir Estado?
React Summit 2022React Summit 2022
23 min
Compartir es Cuidar: ¿Deberían los Micro Frontends Compartir Estado?
La arquitectura de micro frontends es extremadamente poderosa cuando se trata de dividir grandes monolitos frontends en bloques más pequeños y desplegables de forma individual, cada uno propiedad de un equipo autónomo y enfocado en un dominio empresarial. Pero, ¿qué pasa con el Estado? A menudo se nos dice que los micro frontends no deben compartir estado, ya que esto los acoplaría entre sí. Sin embargo, cuando se trata de interfaces de usuario complejas, no es raro encontrarse con escenarios donde es necesario gestionar el estado entre micro frontends. Esta charla trata sobre encontrar el punto óptimo: ¿En qué escenarios es razonable que los micro frontends compartan estado? ¿Y cómo deberían compartir estado los micro frontends manteniéndose desacoplados entre sí? Discutimos y comparamos diferentes soluciones en React.
“Microfrontends” para móviles en React Native
React Advanced Conference 2023React Advanced Conference 2023
24 min
“Microfrontends” para móviles en React Native
La escalabilidad siempre ha sido un problema en el desarrollo de software. Los arquitectos han estado luchando para resolver este problema en muchas capas. A principios de la década de 2000, comenzó a surgir un concepto de “micro-servicios” - un sistema podría dividirse por dominio empresarial en una serie de servicios más pequeños y poco acoplados.
Más recientemente, este concepto ha comenzado a ser adoptado por la comunidad de frontend. Una aplicación podría dividirse en múltiples sub-aplicaciones, cada una con sus propios equipos, tecnologías y bases de código. Empresas como Spotify, Amazon y Microsoft han adoptado este enfoque y les ha ayudado a escalar aún más rápido.
En el mundo del desarrollo móvil, surge la pregunta: “¿Podemos crear Microfrontends para aplicaciones móviles?”.