Micro frontend para desarrollar web apps es una forma de arquitectura de software que divide el frontend en proyectos independientes.
Su adopción para el desarrollo de webs aplicativas por empresas como Netflix, Ikea o Spotify la han hecho muy popular dentro de compañías y equipos de desarrollo.
“El dinamismo del desarrollo moderno hace que la arquitectura micro frontend sea necesaria. Su naturaleza nos permite ser más flexibles sin perjudicar la calidad”, señala José Estévez, líder técnico de Fusiona.
Qué es micro frontend
Micro frontend es un tipo de arquitectura de frontend que divide tecnológicas, bases de código, equipos y procesos en partes pequeñas que deben funcionar y evolucionar de forma independiente.
Es una arquitectura escalable y manejable que especifica el rol de cada pieza estableciendo claramente las dependencias entre ellas.
Todo lo anterior sin dejar de aparecer ante los usuarios finales del aplicativo como un solo producto cohesivo, fluido y funcional.
Cómo funciona micro frontend
Cuando ingresas a un sitio web que utiliza la arquitectura micro frontend, la url te dirigirá al proyecto principal. Este llamará a otros componentes usando métodos y los renderizará (mostrará) en las secciones correspondientes.
Es decir, la arquitectura micro frontend divide la interfaz en muchas piezas más pequeñas y manejables que aumentan la eficacia y la eficiencia de los equipos que trabajan en el lado del cliente de la web.
Hermanos de los microservicios
La arquitectura de microservicios es un patrón de diseño en el desarrollo backend. A diferencia de una arquitectura monolítica, los microservicios incluyen varios componentes que se pueden implementar de forma independiente, por lo general están separados por lógicas comerciales y están conectados por APIs.
La arquitectura micro frontend heredó de los microservicios backend una forma de desarrollo que busca probar, implementar y mantener el código de manera independiente. Donde los usuarios finales, como ya señalamos, deben ver un sitio web único y sin interrupciones.
Beneficios de micro frontend
Algunos de los beneficios clave de los micro frontends son:
-Propician organizaciones más escalables con equipos autónomos y desacoplados.
-Bases de código más pequeñas, más cohesivas y mantenibles. Estas bases de código tienden a ser más simples y fáciles de trabajar para los desarrolladores.
-A medida que cada equipo se enfoca en una parte del trabajo, el dominio se comprende mejor y el enfoque no se distrae.
-Mientras los fragmentos de código se vuelven estructuras más pequeñas, un recién llegado al equipo puede adaptarse al código más rápidamente.
-Tienen mayor libertad para tomar decisiones sobre partes individuales del producto para hacer actualizaciones incrementales a la arquitectura, dependencias y UI.
-Ofrecen una mayor capacidad de experimentar con nuevas tecnologías o nuevos modos de interacción, de una manera más aislada.
Ejemplos y empresas que utilizan micro frontend
IKEA, el imperio nórdico de venta de muebles en línea y en tiendas físicas, ofrece una experiencia digital basada en micro frontends.
Spotify, el sitio de streaming musical ensambla aplicaciones de escritorio utilizando micro frontend.
Netflix, la plataforma de películas y series en streaming utiliza micro frontend y sus ingenieros son evangelizadores de su uso en su blog de tecnología.
“En cuanto a buenas prácticas y casos de éxito, Netflix es una empresa que ha utilizado micro frontends en su plataforma de streaming de video. De hecho, han escrito varios artículos sobre cómo implementar esta arquitectura y los beneficios que obtuvieron. Son un ejemplo de implementación y buenas prácticas”, aporta José Estévez.
Conclusión
La arquitectura micro frontend es favorable para proyectos de desarrollo web a gran escala basados en microservicios. Permite que diferentes componentes sean desarrollados por equipos independientes y autónomos que pueden hacer implementaciones más rápidas de nuevas funciones, pruebas a componentes individuales y actualizaciones más fluidas.
Optar por una arquitectura de micro frontend te plantea el desafío de ser explícito y específico sobre flujos, datos y los eventos entre las diferentes partes de tu aplicación. Algo esencial en el desarrollo de software moderno.
Si tienes dudas sobre este tema o si no sabes si optar por una web app basada en micro frontend o monolítica, en Fusiona estaremos encantados de orientarte.