El Lado Oscuro de los Micro-Frontends

Bookmark
Rate this content

Los Micro-Frontends son la arquitectura distribuida para las interfaces de usuario que están resolviendo no solo desafíos técnicos sino también organizacionales. En esta sesión, aprenderás los patrones anti-comunes más vistos en los últimos 10 años de implementación y consultoría a empresas de todo el mundo en su viaje hacia la arquitectura de micro-frontends. Ya seas un experto o un novato, en esta charla, aprenderás cómo estructurar adecuadamente tu arquitectura de micro-frontends y cómo evitar errores comunes al construir micro-frontends.

This talk has been presented at React Advanced 2025, check out the latest edition of this React Conference.

Luca Mezzalira
Luca Mezzalira
29 min
28 Nov, 2025

Comments

Sign in or register to post your comment.
Video Summary and Transcription
En la charla, se discutieron varios puntos clave sobre la arquitectura de micro-front-end. Estos incluyeron desafíos con micro-intents, errores comunes en el diseño de sistemas, las diferencias entre micro-intents y componentes, granularidad en la arquitectura de software, optimización de la arquitectura de micro-front-end, estrategias de enrutamiento y despliegue eficientes, estrategias de edge computing, optimización del estado global y el intercambio de datos, gestión del contexto de datos, gobernanza y funciones de aptitud, pruebas arquitectónicas, crecimiento adaptativo, valor de los micro-frontends, selección de repositorios, estructuras de repositorios y uso de componentes web.
Available in English: The Dark Side of Micro-Frontends

1. Challenges with Micro-Intents

Short description:

En los últimos 10 años, trabajé con varios equipos a nivel mundial, destacando problemas con micro-intents. Conceptos erróneos comunes: equiparar componentes con micro-intents, depender solo de la composición en tiempo de ejecución. Evitar mezclar múltiples frameworks en micro-intents para lograr el éxito en la implementación.

En los últimos 10 años, me embarqué en este viaje sobre cómo hacer un sistema distribuido en el front end. Y los últimos cinco, estuve trabajando para AWS, así que tuve el placer de trabajar con cientos de equipos en todo el mundo, equipos internos de Amazon, AWS, equipos de Nueva Zelanda, Silicon Valley, de seguros, bancos, comercio electrónico, lo que sea. Y he visto bastantes, digamos, malas implementaciones de micro-intents y exitosas implementaciones de micro-intents. Y hoy, solo quiero resaltar los principales problemas que he visto con micro-intents. No va a ser una clase sobre cómo funcionan los micro-intents de principio a fin, sino enfocándome en los principales problemas, porque son las partes que generalmente duelen más.

Bien, veamos si funciona. Sí. Bien, la mayoría de las veces cuando entro en una sala con un cliente, hacemos una pequeña sesión de pizarra juntos. Y tal vez ya comenzaron a desplegar algo en producción. Lo que veo es algo así. Tienen un sitio web y luego simplemente dicen, bien, escuchen, ¿pueden explicarme cómo funciona? Y luego les digo, oh sí, por supuesto que podemos. Entonces, tenemos el encabezado, este es un micro-intent. Luego tenemos otro componente, otro micro-intent, otro micro-intent, otro micro-intent, otro micro-intent, y así hasta el final. Ahora, hay un problema fundamental aquí que es básicamente pensar que los componentes y los micro-intents son exactamente lo mismo. Y en segundo lugar, pensar que la composición en tiempo de ejecución es la única forma de hacer micro-intents. Eso no es absolutamente cierto.

Luego pasamos al siguiente paso. Este es el verdadero lado oscuro de los micro-intents, donde después de decirme cuántos componentes tienen o cuántos micro-intents tienen en la misma vista, comienzan a decir, oh sí, porque estamos usando iteración modificada, pero estamos pensando en Single SPA, pero también queremos un poco de Next JS multi-zone, estamos usando un enfoque de múltiples frameworks, o estamos eligiendo uno de esos frameworks, o incluso sin frameworks, estamos usando iframes, lo que sea. El problema es que ninguno de esos está haciendo una plataforma de micro-intents exitosa. Así que, deténganlo. Eso es lo más importante, la única conclusión que deben sacar de esta parte.

2. Common Mistakes in System Design

Short description:

Evitar culpar a la arquitectura por problemas del sistema. Considerar arquitectura, cultura de ingeniería y estructura del equipo en el diseño del sistema. La fricción indica áreas a abordar, a menudo no relacionadas con la arquitectura. Errores comunes: definir micro-intents, entender la granularidad y la propiedad del contexto en los componentes.

Entonces, por favor, tampoco culpes a la arquitectura, como he escuchado un millón de veces, eso no es solo para micro-intents, por cierto, también es para cualquier sistema distribuido, también microservicios, he escuchado varias veces, si las cosas no están funcionando. Porque necesitas pensar en tres dimensiones cuando estás diseñando un sistema distribuido, no es solo para micro-intents. Necesitas pensar en la parte de arquitectura, así que invertir tiempo diseñando tu sistema. Necesitas pensar en la cultura de ingeniería que quieres tener. Si tienes, no sé, la mitad o la mayoría de desarrolladores junior, no puedes comenzar inmediatamente con las cosas más avanzadas que encuentras en ingeniería. Y finalmente, necesitas pensar en la topología del equipo, así que cómo estás estructurando los equipos. Porque cada decisión que tomas en una arquitectura va a afectar, intencionalmente o no, las otras dos dimensiones, y viceversa, por cierto. Así que, cuando ves fricción dentro del sistema, es un regalo. No es negativo, es un regalo. Porque significa que algo no funciona y necesitas entender qué dimensión vas a resolver. ¡Sorpresa! La gran mayoría de las veces no es la arquitectura.

Bien, así que quiero compartir contigo los tres errores más comunes que he visto en los últimos cuatro años y cómo superarlos. El primero es, ¿qué es un micro-intent? No tienes idea de cuántas veces pregunto cuán micro es un micro-intent o cuán micro es un microservicio, por cierto. ¿Son 100 líneas de código un microservicio o un micro-intent? Pero la respuesta es no. Hay diferentes características. Así que intentemos llegar a un consenso sobre esto. Tomemos lo más increíble... No soy diseñador, como puedes ver. Veamos las cosas más increíbles que puedes tener o las cosas más granulares que puedes tener frente a este componente. Así que este botón está exponiendo un montón de propiedades. Así que tienes la etiqueta, tienes métodos, tienes un ID, tienes un montón de cosas. Piensa en eso. ¿Quién está configurando esta información? El contexto del botón, ¿verdad? Así que es el contenedor del botón el que está instruyendo al botón cómo comportarse.

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.
Entendiendo la Arquitectura Fiber de React
React Advanced 2022React Advanced 2022
29 min
Entendiendo la Arquitectura Fiber de React
Top Content
This Talk explores React's internal jargon, specifically fiber, which is an internal unit of work for rendering and committing. Fibers facilitate efficient updates to elements and play a crucial role in the reconciliation process. The work loop, complete work, and commit phase are essential steps in the rendering process. Understanding React's internals can help with optimizing code and pull request reviews. React 18 introduces the work loop sync and async functions for concurrent features and prioritization. Fiber brings benefits like async rendering and the ability to discard work-in-progress trees, improving user experience.
Thinking Like an Architect
Node Congress 2025Node Congress 2025
31 min
Thinking Like an Architect
Top Content
In modern software development, architecture is more than just selecting the right tech stack; it involves decision-making, trade-offs, and considering the context of the business and organization. Understanding the problem space and focusing on users' needs are essential. Architectural flexibility is key, adapting the level of granularity and choosing between different approaches. Holistic thinking, long-term vision, and domain understanding are crucial for making better decisions. Effective communication, inclusion, and documentation are core skills for architects. Democratizing communication, prioritizing value, and embracing adaptive architectures are key to success.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
RemixConf EU discussed full stack components and their benefits, such as marrying the backend and UI in the same file. The talk demonstrated the implementation of a combo box with search functionality using Remix and the Downshift library. It also highlighted the ease of creating resource routes in Remix and the importance of code organization and maintainability in full stack components. The speaker expressed gratitude towards the audience and discussed the future of Remix, including its acquisition by Shopify and the potential for collaboration with Hydrogen.
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
React Summit 2022React Summit 2022
17 min
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
Top Content
Today's Talk discusses building flexible, resilient, and future-proof React components using composition and configuration approaches. The composition approach allows for flexibility without excessive conditional logic by using multiple components and passing props. The context API can be used for variant styling, allowing for appropriate styling and class specification. Adding variants and icons is made easy by consuming the variant context. The composition and configuration approaches can be combined for the best of both worlds.

Workshops on related topic

IA a demanda: IA sin servidor
DevOps.js Conf 2024DevOps.js Conf 2024
163 min
IA a demanda: IA sin servidor
Top Content
Featured WorkshopFree
Nathan Disidore
Nathan Disidore
En esta masterclass, discutimos los méritos de la arquitectura sin servidor y cómo se puede aplicar al espacio de la IA. Exploraremos opciones para construir aplicaciones RAG sin servidor para un enfoque más lambda-esque a la IA. A continuación, nos pondremos manos a la obra y construiremos una aplicación CRUD de muestra que te permite almacenar información y consultarla utilizando un LLM con Workers AI, Vectorize, D1 y Cloudflare Workers.
Masterclass de alto rendimiento Next.js
React Summit 2022React Summit 2022
50 min
Masterclass de alto rendimiento Next.js
Workshop
Michele Riva
Michele Riva
Next.js es un marco convincente que facilita muchas tareas al proporcionar muchas soluciones listas para usar. Pero tan pronto como nuestra aplicación necesita escalar, es esencial mantener un alto rendimiento sin comprometer el mantenimiento y los costos del servidor. En este masterclass, veremos cómo analizar el rendimiento de Next.js, el uso de recursos, cómo escalarlo y cómo tomar las decisiones correctas al escribir la arquitectura de la aplicación.
Model Context Protocol (MCP) Deep Dive: 2-Hour Interactive Masterclass
AI Coding SummitAI Coding Summit
86 min
Model Context Protocol (MCP) Deep Dive: 2-Hour Interactive Masterclass
Workshop
Stepan Suvorov
Stepan Suvorov
Únete a una sesión enfocada de 2 horas que cubre el propósito de MCP, su arquitectura, implementación práctica de servidores y direcciones futuras. Diseñado para desarrolladores y arquitectos de sistemas que buscan integrar datos contextuales con modelos de ML de manera efectiva. Agenda:- Introducción & ¿Por qué MCP? Desafíos clave que MCP resuelve y beneficios principales.- Profundización en la Arquitectura: componentes, interacciones, principios de escalabilidad. - Construyendo tu propio Servidor MCP: recorrido guiado con fragmentos de código y mejores prácticas; demostración en vivo o revisión de código.- Futuro de los Desarrollos de MCP: potenciales mejoras, tendencias emergentes, escenarios del mundo real.
Puntos Clave:- Comprensión clara del razonamiento detrás de MCP.- Perspectiva sobre patrones de diseño y consideraciones de escalado.- Pasos prácticos para implementar un servidor prototipo.- Conciencia de las tendencias futuras y cómo aplicar MCP en proyectos.