Arquitectura de microfrontends
Dividir aplicaciones en unidades independientes desplegables
Arquitectura de microfrontends es una lección gratuita de Angular Academy en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Angular Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Angular Academy incluye 4 lecciones en total.
Qué son los micro frontends
Los micro frontends extienden la idea de los microservicios a la interfaz de usuario: una aplicación web grande se divide en piezas que se desarrollan, prueban y despliegan de forma independiente. Cada pieza pertenece a un equipo distinto y todas se combinan en una sola experiencia durante el tiempo de ejecución.
El problema que resuelven
Una única aplicación Angular enorme (un «frontend monolítico») vincula a todos los equipos a un mismo ciclo de lanzamiento, una misma compilación y un mismo despliegue. A medida que los equipos crecen, esto ralentiza el trabajo de todos. Los micro frontends permiten que cada equipo publique según su propio calendario.
Elementos desplegables independientes
La propiedad fundamental es el despliegue independiente: el equipo de checkout puede desplegar un nuevo flujo de compra sin recompilar ni volver a desplegar el catálogo de productos. Cada remoto es un artefacto independiente detrás de su propio pipeline.
Host y remotos
Desde el punto de vista arquitectónico, hay un host (shell) que carga uno o más remotos. El shell gestiona el enrutamiento y el diseño de nivel superior; los remotos proporcionan áreas funcionales que se cargan bajo demanda.
// conceptually
host -> loads -> remote: catalog
-> loads -> remote: checkout
-> loads -> remote: accountEstrategias de composición
Los remotos pueden combinarse en tiempo de compilación, en el servidor (SSI/edge) o en tiempo de ejecución en el navegador. La composición en tiempo de ejecución con Module Federation es la más habitual en Angular porque conserva el despliegue independiente.
Module Federation en una frase
Module Federation permite que una aplicación compilada exponga módulos que otra aplicación compilada carga por HTTP durante el tiempo de ejecución, compartiendo bibliotecas comunes para no duplicarlas. Es el motor de la mayoría de los micro frontends de Angular.
Autonomía y límites de los equipos
Cada micro frontend debería corresponder a un dominio empresarial claro (catálogo, checkout, cuenta). Unos límites de dominio bien definidos minimizan el acoplamiento entre equipos, que es precisamente el objetivo. Las responsabilidades compartidas (autenticación, sistema de diseño) se convierten en contratos explícitos.
Los costes
Los micro frontends añaden complejidad real: diferencias de versión entre remotos, dependencias duplicadas si se configuran incorrectamente, depuración más difícil entre límites y fallos de carga durante el tiempo de ejecución. Adóptelos solo cuando la escala de los equipos justifique estos costes adicionales.
Cuándo NO usarlos
Para un equipo pequeño o un único producto, un monolito bien estructurado con rutas cargadas de forma diferida es más sencillo y rápido. Los micro frontends resultan rentables cuando varios equipos necesitan desplegar de forma independiente en la misma aplicación.
Aspecto y experiencia coherentes
Para evitar una interfaz tipo Frankenstein, los equipos comparten una biblioteca de sistema de diseño y estilos globales. La coherencia es un contrato deliberado, no una casualidad, porque cada remoto se compila por separado.
Consideraciones específicas de Angular
Los remotos de Angular deben compartir una única copia del framework de Angular durante el tiempo de ejecución; cargar dos versiones de Angular rompe la inyección de dependencias y aumenta innecesariamente el tamaño del bundle. Herramientas como Native Federation gestionan este uso compartido por usted.
Comprobación rápida
¿Cuál es el beneficio principal de los micro frontends?
Resumen
Los micro frontends dividen una aplicación grande en remotos que se pueden desplegar de forma independiente y que carga un shell host, asignados a dominios empresariales. La composición en tiempo de ejecución mediante Module Federation es el estándar en Angular, que debe compartir una única copia del framework. Resuelven el acoplamiento entre equipos grandes, pero añaden costes operativos reales.
Preguntas frecuentes
¿La lección «Arquitectura de microfrontends» es gratis?
Sí — el texto completo de «Arquitectura de microfrontends» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Angular Academy, actualiza a CoddyKit PRO. El curso de Angular Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Arquitectura de microfrontends»?
Dividir aplicaciones en unidades independientes desplegables Practicas Angular Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Angular Academy?
No se requiere experiencia previa. Angular Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Arquitectura de microfrontends»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Angular Academy?
Sí. Cada lección de Angular Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Arquitectura de microfrontends
- Federación nativa para Angular
- Compartir dependencias
- Cargar módulos remotos