Microfrontends con Module Federation y Angular

Rate this content
Bookmark

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.

This workshop has been presented at JSNation Live 2021, check out the latest edition of this JavaScript Conference.

FAQ

La federación dinámica permite cargar componentes o módulos de microfrontends en tiempo de ejecución sin configuración estática previa en la 'shell'. Utiliza funciones auxiliares como 'load remote module' para cargar módulos de manera dinámica basándose en URLs y metadatos especificados, lo que flexibiliza la integración y actualización de diferentes partes de la aplicación sin necesidad de recompilar.

Los microfrontends permiten dividir una aplicación grande en piezas más pequeñas y manejables, desarrolladas de forma independiente por diferentes equipos. Esto mejora la agilidad, la escalabilidad y la capacidad de mantenimiento del software, ya que cada equipo puede desarrollar, probar e implementar sus partes del sistema de forma autónoma, reduciendo las dependencias y coordinación necesaria entre equipos.

No es estrictamente necesario, pero Web Components pueden ser útiles en escenarios avanzados donde se mezclan diferentes frameworks o se manejan versiones incompatibles de un mismo framework. Los Web Components encapsulan la lógica y presentación, permitiendo que funcionen como un puente neutral entre diferentes tecnologías usadas en los microfrontends.

Webpack 5 Module Federation ofrece estrategias para manejar incompatibilidades de versiones, como seleccionar la versión compatible más alta disponible o cargar múltiples versiones de una biblioteca si no son compatibles. Este enfoque ayuda a prevenir errores en tiempo de ejecución y facilita la integración de microfrontends que podrían estar utilizando diferentes versiones de sus dependencias.

Para compartir estado entre microfrontends, se puede utilizar una biblioteca compartida que maneje el estado, o técnicas de comunicación como eventos o almacenamiento local/sessionStorage. Es importante mantener un buen diseño para asegurar que los microfrontends permanezcan lo más desacoplados posible, compartiendo solo la información necesaria para su funcionamiento integrado.

La federación de módulos en Webpack 5 permite configurar aplicaciones para cargar código desde múltiples compilaciones separadas. Define roles como 'anfitrión' y 'remoto', permitiendo que una aplicación 'shell' (anfitrión) integre y cargue microfrontends (remotos) dinámicamente. Facilita la integración entre microfrontends desarrollados y desplegados independientemente.

Manfred Steyer
Manfred Steyer
113 min
17 Jun, 2021

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Microfrontends con module federation permiten a los equipos desarrollar e implementar partes separadas de un sistema, simplificando la integración en una shell común. Webpack 5 Module Federation resuelve el problema de cargar código fuente compilado por separado para microfrontends. Los desajustes de versión en module federation se pueden manejar utilizando estrategias y versionado semántico. Angular se puede combinar con module federation utilizando un constructor personalizado. Los microfrontends pueden compartir datos y bibliotecas, y los componentes web se pueden utilizar para envolver y renderizar componentes de diferentes versiones o frameworks. Module federation permite la negociación de versiones y la carga en tiempo de ejecución de microfrontends. React.js se puede integrar con module federation, y los componentes web se pueden utilizar para compartir bibliotecas entre diferentes aplicaciones. El método de arranque y el envoltorio de componentes web simplifican el proceso de arranque de aplicaciones Angular y la carga de componentes web bajo demanda.
Video transcription and chapters available for users with access.

Watch more workshops on topic

Monitoreo 101 para Desarrolladores de React
React Summit US 2023React Summit US 2023
107 min
Monitoreo 101 para Desarrolladores de React
Top Content
WorkshopFree
Lazar Nikolov
Sarah Guthals
2 authors
Si encontrar errores en tu proyecto frontend es como buscar una aguja en un pajar de código, entonces el monitoreo de errores de Sentry puede ser tu detector de metales. Aprende los conceptos básicos del monitoreo de errores con Sentry. Ya sea que estés ejecutando un proyecto de React, Angular, Vue, o simplemente JavaScript “vainilla”, mira cómo Sentry puede ayudarte a encontrar el quién, qué, cuándo y dónde detrás de los errores en tu proyecto frontend.
Nivel de la masterclass: Intermedio
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.
Comienza con AG Grid Angular Data Grid
JSNation 2022JSNation 2022
116 min
Comienza con AG Grid Angular Data Grid
WorkshopFree
Stephen Cooper
Stephen Cooper
Comienza con AG Grid Angular Data Grid con un tutorial práctico del equipo principal que te guiará a través de los pasos para crear tu primera cuadrícula, incluyendo cómo configurar la cuadrícula con propiedades simples y componentes personalizados. La edición de la comunidad de AG Grid es completamente gratuita para usar en aplicaciones comerciales, por lo que aprenderás una herramienta poderosa que puedes agregar de inmediato a tus proyectos. También descubrirás cómo cargar datos en la cuadrícula y diferentes formas de agregar representación personalizada a la cuadrícula. Al final del masterclass, habrás creado y personalizado una cuadrícula de datos AG Grid Angular.
Contenido:- comenzando e instalando AG Grid- configurando ordenamiento, filtrado, paginación- cargando datos en la cuadrícula- la API de la cuadrícula- agregar tus propios componentes a la cuadrícula para representación y edición- capacidades de la edición de la comunidad gratuita de AG Grid
Poniéndose cómodo con Angular y UI
JSNation Live 2021JSNation Live 2021
149 min
Poniéndose cómodo con Angular y UI
Workshop
Alyssa Nicoll
Alyssa Nicoll
Un masterclass tanto para principiantes en UI como en Angular. Vamos a descargar la aplicación Tour of Heroes (escrita por John Papa y encontrada en la documentación de Angular) y darle una mejora en la interfaz de usuario. Todo lo que necesitarás es una computadora portátil y tu conjunto de datos favorito (el mío, por supuesto, serán ponis).

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
This talk discusses the usage of Microfrontends in Remix and introduces the Tiny Frontend library. Kazoo, a used car buying platform, follows a domain-driven design approach and encountered issues with granular slicing. Tiny Frontend aims to solve the slicing problem and promotes type safety and compatibility of shared dependencies. The speaker demonstrates how Tiny Frontend works with server-side rendering and how Remix can consume and update components without redeploying the app. The talk also explores the usage of micro frontends and the future support for Webpack Module Federation in Remix.
De Monolito a Micro-Frontends
React Advanced 2022React Advanced 2022
22 min
De Monolito a Micro-Frontends
Top Content
Microfrontends are considered as a solution to the problems of exponential growth, code duplication, and unclear ownership in older applications. Transitioning from a monolith to microfrontends involves decoupling the system and exploring options like a modular monolith. Microfrontends enable independent deployments and runtime composition, but there is a discussion about the alternative of keeping an integrated application composed at runtime. Choosing a composition model and a router are crucial decisions in the technical plan. The Strangler pattern and the reverse Strangler pattern are used to gradually replace parts of the monolith with the new application.
El Viento y las Olas: La formación de Olas de Framework desde el Epicentro
JSNation 2022JSNation 2022
19 min
El Viento y las Olas: La formación de Olas de Framework desde el Epicentro
Top Content
Our understanding of innovation is wrong. Innovations are not introduced by a single point of light. The story of who invented the computer is not linear. Many steps forward led to the development of the computer. Angular has shaped and influenced multiple JavaScript waves, and Angular v14 simplifies development with standalone components.
Momento Angular
JSNation 2023JSNation 2023
22 min
Momento Angular
Angular has experienced significant growth and is the second most popular framework after React. The latest release of Angular, called Angular Ivy, went through a major refactoring in 2021. Angular's reactivity model has been improved with the introduction of signals, which enable better integration with RxJS and support advanced reactivity patterns. Angular has made optimizations for performance, including improvements in load speed and lazy loading. The Angular team acknowledges the innovations in other frameworks and highlights the impact of introducing TypeScript in enabling the project's success.
Micro-Frontends con React y Federación de Módulos Vite
React Advanced 2023React Advanced 2023
20 min
Micro-Frontends con React y Federación de Módulos Vite
Top Content
Microfrontends is an architecture used by big companies to split monolithic frontend applications into manageable parts. Maintaining a consistent look and feel across different microfrontends is a challenge. Sharing styles can be done through Vanilla CSS, CSS modules, or CSS in JS. JavaScript variables can be used in styles, but readability and runtime overhead are considerations. Sharing state in microfrontends can be achieved through custom events, broadcast channels, shared state managers, or custom PubSub implementations. Module federation with Vite allows for client composition and sharing dependencies. Configuration is similar to Webpack, and future work includes working on the QUIC framework.
Microfrontends Federados a Gran Escala
React Summit 2023React Summit 2023
31 min
Microfrontends Federados a Gran Escala
Top Content
This Talk discusses the transition from a PHP monolith to a federated micro-frontend setup at Personio. They implemented orchestration and federation using Next.js as a module host and router. The use of federated modules and the integration library allowed for a single runtime while building and deploying independently. The Talk also highlights the importance of early adopters and the challenges of building an internal open source system.