El uso de microfrontend nos permite utilizar y gestionar diferentes tecnologías de forma independiente incluso cuando estas tecnologías están acopladas entre sí. Esto se traduce en una mejor usabilidad, mayor autonomía del software y mayor agilidad en el desarrollo de procesos internos y externos. Algo que toda empresa del siglo XXI necesita para conseguir alcanzar los mejores resultados posibles.
Si quieres saber más sobre qué son los microfrontends y todo lo que pueden hacer por tu compañía sigue leyendo y te lo contamos.
Microfrontend o Module Federation es una forma de desarrollar páginas web que consiste en la combinación de diferentes compilaciones con el objetivo de crear una única aplicación.
El término microfrontend surge en el año 2016. Hoy en día, en la parte de backend, se ha evolucionado hacia un backend modularizado en diferentes piezas. En cambio, el frontend aún sigue siendo considerado un bloque monolítico.
En este sentido, la tendencia actual es crear una aplicación de navegador potente y rica en características desde donde poder gestionar todo, también conocida como “single page app”.
Un microfrontend es como un microservicio de backend pero que existe dentro de un navegador. El enfoque de los microfrontends es pensar en un sitio web (o aplicación web) como una composición de características que son propiedad de equipos independientes.
De este modo, los microfrontends son secciones de la interfaz de usuario. Estas secciones a menudo constan de docenas de componentes que usan framework como React, Vue y Angular para renderizar sus componentes.
Cada microfrontend puede ser administrado por un equipo diferente y puede ser implementado usando su propio framework. En este sentido, es práctico y se recomienda usar un solo framework para todos sus microfrontends, aunque, en la práctica, se pueden agregar frameworks adicionales al migrar o al experimentar.
Cada microfrontend tiene su repositorio git propio, su archivo package.json donde están las diferentes dependencias, y su propia configuración para la herramienta de compilación. Por lo tanto, también existe un CI/CD independiente por cada microfrontend.
Las principales ventajas que nos ofrece utilizar microfrontends son las siguientes:
Al usar microfrontend, se pueden tener al mismo tiempo diversas tecnologías como Vue, React o Angular entre otros, ya que se desarrollaran de forma independiente en cada microfrontends, diseñando aplicaciones autocontenidas que no dependen las unas de las otras.
No hay necesidad de compartir tiempo de ejecución. Usar microfrontends permite la creación de aplicaciones independientes y sin necesidad de confiar en un estado compartido o variables globales.
Esta independencia de microfrontend permite una aplicación escalable. En términos de negocio, y atendiendo a las necesidades del proyecto, nos permite no perder las cualidades que ya lo conforman y le añaden valor. Además, también permiten añadir otras funcionalidades nuevas e ir acoplando otras de forma progresiva sin depender del código ya existente.
Cada desarrollador trabaja de forma independiente en cada microfrontend. De esta forma, es posible hacer desarrollos paralelos y aislados. En consecuencia, el código se verá reducido, ya que cada microfrontend es una pequeña pieza y no funciona como un frontend monolítico.
Los microfrontends puede desarrollarse en paralelo y no depender de otros desarrollos. En este sentido, se pueden hacer diferentes versiones de cada microfrontend y testearse y desplegarse de forma individual e independiente entre sí.
Al ser independientes, los equipos de desarrollo de los microfrontends pueden trabajar sobre las diferentes features de forma autónoma. Además, todos pueden trabajar en paralelo y de forma organizada, lo que se traduce en un acortamiento de los tiempos de desarrollo.
Algunas de las principales desventajas de los microfrontends son las siguientes:
Una de las desventajas más destacadas del uso de microfrontends es la alta complejidad operacional que implican. En este sentido, cada microfrontend debe desplegarse de forma independiente, lo que conlleva la correspondiente gestión de diferentes entornos y servidores.
Además, todo esto implica también un mayor gasto económico y de recursos para poder llevarlo a cabo.
La aplicación final, donde convergen todos los microfrontends, puede encontrarse con un tamaño considerablemente superior cuando se usan microfrontends. Por ejemplo, esto podría suceder debido a la duplicidad de dependencias entre otros. En el caso de las dependencias, lo más recomendable es crear una biblioteca de dependencias compartidas.
A grandes rasgos, encontramos tres tipos de microfrontends:
Las bases del código se están volviendo cada vez más complejas, lo que implica una creciente necesidad de arquitecturas más escalables. En este sentido, surge la necesidad de poder escalar la entrega de software a través de equipos independientes y autónomos. Una posible solución a esta necesidad la encontramos en el uso de microfrontends, que nos permiten trabajar de forma independiente con cada una de las diferentes secciones de interfaz de usuario sin afectar al resto del código.
Esta tecnología es especialmente necesaria en proyectos de gran envergadura y de alta complejidad técnica, ya que permite trabajar de forma modularizada, distribuyendo de una forma más eficiente tanto los recursos técnicos como operacionales.
Creamos nuevos productos y servicios superiores hibridando la tecnología con los modelos de negocio
¿En que estás interesado?
¡Ya has completado el formulario!
¡Ya has completado el formulario! Revisaremos tu solicitud y nos pondremos en contacto contigo lo antes posible.
Gracias por confiar en nosotros.