Micro Frontends
Patrón arquitectónico que extiende los microservicios al frontend, permitiendo que equipos independientes desarrollen y desplieguen partes de una aplicación web de forma autónoma.
¿Qué es?
Micro frontends extienden el concepto de microservicios al frontend. En lugar de un monolito frontend, la aplicación se compone de fragmentos independientes desarrollados por equipos autónomos, integrados en runtime o build time.
Estrategias de integración
| Estrategia | Integración | Ejemplo |
|---|---|---|
| Build-time | npm packages | Monorepo con packages |
| Runtime (JS) | Module Federation | Webpack/Vite MF |
| Runtime (iframe) | iframes | Legacy integration |
| Server-side | SSI/ESI | Edge composition |
Module Federation
La técnica más popular: cada micro frontend expone módulos que otros pueden consumir en runtime, sin necesidad de rebuild.
Cuándo usar
- Múltiples equipos trabajando en el mismo producto
- Necesidad de despliegues independientes por sección
- Migración gradual de tecnologías
- Aplicaciones enterprise grandes
Cuándo NO usar
- Equipo pequeño (un solo equipo)
- Aplicación simple
- Cuando la complejidad de integración supera el beneficio
¿Por qué importa?
Los micro-frontends aplican los principios de microservicios al frontend, permitiendo que equipos independientes desarrollen, desplieguen y escalen partes de la interfaz de forma autónoma. Son la solución cuando un monolito frontend se convierte en cuello de botella organizacional.
Referencias
- Micro Frontends — Martin Fowler.
- Module Federation — Documentación oficial.
- single-spa — single-spa, 2024. Framework para micro frontends.