En esta página:
El desarrollo FrontEnd es una parte muy importante en todo proyecto, no solo en una página web, sino también en aplicaciones móviles, software de escritorio, diseño para televisores inteligentes, autos inteligentes, etc. Si no hay una interface amigable para el usuario, este puede entrar en confusión y terminará por no valorar mucho tu proyecto. En este Post te enseñaré Que Son los Micro Frontends y Otros Detalles.
Antes de continuar, te invito a escuchar el Podcast: “Porque Todo Desarrollador Debes Ser Autodidacta” y “Ventajas y Desventajas de Usar 2 o Más Monitores Para un Desarrollador” (Anchor Podcast):
Spotify: | Sound Cloud: | Apple Podcasts | Anchor Podcasts |
Bien ahora continuemos con el Post: Que Son los Micro Frontends y Otros Detalles.
¿ Qué Son Los Micro Frontends ?
Son partes de un diseño Front principal, es como si divieramos un diseño (Front) en partes (micros) y cada parte es gestionada por un desarrollador indepedientemente de las demás partes. Este enfoque arquitectónico para el desarrollo front, esta pensado para trabajar los proyectos como una colección de características de propiedad independiente de diferentes equipos.
Cada equipo tiene una determinada tarea en la que se especializan. Un equipo es multifuncional y desarrolla sus funciones de principio a fin, desde la base de datos, hasta la interfaz del usuario.
Arquitectura Tradicional (Monolítica) vs Micro Frontends
En la arquitectura tradicional (monolítica), todo el proyecto se considera una sola pieza. Las aplicaciones monolíticas son de un solo nivel, lo que significa que se combinan múltiples componentes para formar una sola aplicación grande. En consecuencia, tendrán grandes bases de código, lo que dificulta su administración con el tiempo.
Si se debe actualizar un componente, es posible que también sea necesario volver a escribir otros componentes y toda la aplicación debe volver a compilarse y probarse nuevamente. El proceso puede llevar mucho tiempo y puede limitar la agilidad y la velocidad de los equipos de desarrollo de sofware.
En la arquitectura Micro Frontend, un proyecto se divide en diferentes funciones y se asignan a diferentes equipos. Los equipos individuales pueden trabajar en esa tarea independientemente de la tecnología con la que se sientan cómodos, independientemente de lo que estén usando otros equipos. Los Micro Frontends hacen que un proyecto sea menos complejo y más fácil de administrar.
Beneficios de la Arquitectura Micro Frontend
A continuación te comparto algunos beneficios de esta arquitectura:
Uso de Múltiples Frameworks
Micro Frontends brinda a los equipos individuales la libertad de usar cualquier marco o lenguaje. Algunos pueden tener experiencia en React o Vue o Angular u otros marcos. Algunos pueden sentirse cómodos con JavaScript y otros pueden sentirse cómodos con TypeScript . En el enfoque monolítico, una aplicación debe desarrollarse usando el mismo lenguaje. entonces, esto hace que las personas trabajen con un lenguaje con el que no se sienten cómodos o en el que carecen de experiencia. Por lo tanto, Micro Frontend facilita que los equipos trabajen en una sola aplicación con múltiples lenguajes y marcos.
Escalabilidad
Los micro frontends nos permiten escalar el proyecto fácilmente. Permite a los equipos hacer crecer su parte de la interfaz con actualizaciones incrementales que llevarán a la aplicación a escalar a un ritmo manejable con el tiempo con varios equipos responsables de sus propias implementaciones de micro interfaz designadas.
Reutilización
Los componentes probados e implementados por diferentes equipos pueden ser reutilizados por otros equipos y también pueden reintroducirse en otros proyectos. Esto puede ayudar en la creación del propio ecosistema de biblioteca de componentes web de la empresa.
Desarrollo e Implementación Más Rápido
Como cada equipo trabaja de forma independiente en diferentes características simultáneamente, el desarrollo se vuelve más rápido. Los equipos pueden trabajar en su parte del proyecto e implementarlo sin afectar toda la aplicación.
Hace Que la Aplicación Sea Más Mantenible y Estable
Como un proyecto completo se divide en proyectos más pequeños, el proyecto se vuelve más fácil de administrar. Los equipos individuales pueden trabajar y gestionar su parte del proyecto. Las funciones divididas son en su mayoría independientes, por lo que es más fácil asegurarse de que el resto de la aplicación permanezca estable.
Pruebas Más Fáciles
Los equipos individuales trabajan en sus características y las prueban individualmente. por lo tanto, se vuelve más fácil ya que no necesita probar toda la aplicación.
Inconvenientes de la Arquitectura Micro Frontend
A continuación te comparto algunos inconvenientes de esta arquitectura:
Complejidad
Las microfrontends deben implementarse con una planificación adecuada. Si se implementa sin un plan adecuado, se volvería demasiado complejo para los desarrolladores más adelante. El descuido de un equipo podría obstaculizar todo el proyecto durante el tiempo de ejecución. La implementación de cambios o actualizaciones de la aplicación puede volverse más compleja cuando tiene varias microfrontends. Podría causar conflicto si no se implementa en el orden correcto.
Riesgo de falta de comunicación
Debe haber una buena comunicación entre los equipos si están trabajando en módulos individuales. Las brechas de comunicación pueden conducir a la duplicación de métodos o componentes que podrían haberse reutilizado fácilmente y ahorrar un tiempo precioso para los desarrolladores y la empresa.
Cargas útiles aumentadas
Más tecnología y marcos utilizados causan más carga en el navegador del usuario. Esto hace que el navegador cargue más datos de todos los diferentes marcos utilizados en una aplicación y, por lo tanto, hace que el navegador sea lento.
Conclusión
El caso de uso de la arquitectura micro frontend depende de tu aplicación. Si tienes un proyecto pequeño y un equipo pequeño, es posible que la arquitectura micro frontend no sea un método factible. Pero si se trata de un proyecto grande con un gran equipo trabajando en él, sería beneficioso implementar una arquitectura micro frontend.
Nota(s)
- No olvides que debemos usar la Tecnología para hacer cosas Buenas por el Mundo.
Síguenos en las Redes Sociales para que no te pierdas nuestros próximos contenidos.