¡Compártelo!

Microfrontends: qué son, ventajas y cuándo utilizarlos

En este post analizamos qué son los microfrontends, por qué y cuándo utilizarlos y cuáles son sus principales ventajas e inconvenientes. ¡Vamos allá!

¿Qué son los microfrontends?

Los microfrontends extienden los conceptos de microservicios al ecosistema frontend. Esto surge ante la necesidad de dividir en diferentes capas y equipos de desarrollo las diferentes partes de una aplicación frontend.

¿Por qué utilizarlos?

Con el tiempo, el ecosistema frontend de una aplicación crece y se vuelve muy difícil de mantener. Con microfrontends, podemos contar con diferentes equipos asignados a pequeñas áreas o dominios de negocio de una aplicación completa que trabajan de forma independiente e incluso en repositorios diferentes.

frontend monolítico
Frontend monolítico.
Arquitectura basada en microfrontends
Arquitectura basada en microfrontends.

Conceptos generales sobre microfrontends

En los microfrontends:

  • La tecnología y el framework de cada equipo es independiente. No es necesario coordinarse con otros equipos. ¡Aunque sí recomendable!
  • El código de cada aplicación por equipo está aislado. Cada aplicación corre por su cuenta en diferentes tiempos de ejecución. Aunque pueden compartir estados y comunicarse entre ellas.

Ventajas de los microfrontends

  • Implementaciones por equipos de trabajos independientes. Cada equipo instala su microfrontend, desarrolla en su repositorio independiente y realiza sus despliegues totalmente separados del resto de microfrontends.
  • Mayor rendimiento. Con una arquitectura sin microfrontends sería necesario cargar la aplicación completa. Usando microfrontends la carga de áreas funcionales será bajo demanda y el tiempo de carga inicial disminuirá muy considerablemente.
  • Implementación más rápida. Para dar solución a cualquier problema en la aplicación desplegada siempre será mucho más ágil y rápido. Solo bastaría con corregir el problema en el microfrontend afectado y desplegar solo ese. Sin microfrontends habría que desplegar completamente toda la aplicación. Además de realizar cualquier mantenimiento o evolutivo, solo se realizarían los cambios en el área afectada.

Desventajas

  • Coste alto de arquitectura. Una aplicación basada en microfrontends necesita de un equipo que coordine estas micro aplicaciones, ya que tienen que correr en una carcasa común. La cual necesitará estar supervisada por alguien de gran nivel técnico.
  • Cada área funcional hace la guerra por su cuenta. Al tener diferentes equipos independientes, si no hay un buen jefe de orquesta podemos encontrar áreas de la aplicación muy diferentes a otras en cuanto a aspecto, diseño, funcionalidades duplicadas, etc.

¿Cuándo usar microfrontends?

La arquitectura basada en microfrontends esta pensada para aplicaciones de gran tamaño, con diferentes áreas funcionales de negocio bien definidas. De modo que, aunque estas áreas interactúan entre sí y comparten la misma carcasa, cada una tiene su finalidad especifica.

Frameworks para microfrontends

Hay varios frameworks para desarrollar una arquitectura basada en microfrontends. Uno muy popular es single-spa. En él podéis ver diferentes ejemplos con sus correspondientes repositorios:

También existen otros frameworks para microfrontends con diferentes ventajas e inconvenientes:

Conclusión

La arquitectura basada en microfrontends es una opción muy interesante a considerar en aplicaciones de gran tamaño, que resultan difíciles de mantener. En este artículo hemos analizado qué son los microfrontends, sus ventajas e inconvenientes y cuándo conviene utilizarlos.

¿Te gustaría llevar a cabo un proyecto de desarrollo frontend? Creamos frontales desacoplados, ligeros, seguros y testados. ¡Contacta con nosotros!

Artículos relacionados

Go

¿Qué es Go y qué usos tiene?

Seguro que has oído hablar de Go o también conocido como Golang. A pesar de ser un lenguaje de programación relativamente actual, ha llegado pisando fuerte y para quedarse. Conoce a continuación todo lo que necesitas saber sobre Go, considerado por muchos como el lenguaje

Jdk 17: última versión LTS en Java

El 14 de septiembre de 2021 fue publicada una nueva versión de Java: Jdk 17. Desde que Oracle decidió crear nuevas versiones del lenguaje aumentando la frecuencia de entrega cada seis meses, los nuevos lanzamientos van añadiendo nuevas funcionalidades al lenguaje que son probadas, pudiendo

Apache Kafka

Qué es Apache Kafka y cómo dar los primeros pasos

En este artículo vamos a ver qué es Apache Kafka y cuáles son los primeros pasos para empezar a utilizar esta tecnología clave para realizar procesamiento de datos en tiempo real. ¿Qué es Apache Kafka? Apache Kafka es un sistema de mensajería distribuido y escalable