Enable javascript in your browser for better experience. Need to know to enable it? Go here.

Cuatro principios de micro frontends para móviles (parte uno)

¿Deberías estar utilizando micro frontends para móviles?

 

En el creciente mercado de desarrollo móvil de hoy en día, es más importante que nunca aprovechar las oportunidades antes que nuestros competidores. ¿Cuál es el mayor obstáculo para lograrlo?

 

Capacidad de escalabilidad.

 

Las principales aplicaciones móviles son enormes y complejas y los costos de desarrollo también han aumentado. Los puntos críticos para las grandes aplicaciones móviles incluyen lo siguiente:

 

  • Gran esfuerzo de lanzamiento: verificación de estabilidad y calidad sin posibilidad de retroceso

     

  • Incapacidad para escalar: eje de cambio ortogonal al eje de escala arquitectónica

     

  • Alta carga cognitiva: monolítico - sin límites empresariales, confundiendo la capacidad de la plataforma y las características

     

  • Problemas específicos de móviles: cualquier excepción menor puede hacer que toda la aplicación se bloquee.

     

Por lo tanto, para construir una plataforma de desarrollo de aplicaciones móviles que admita la entrega rápida de múltiples equipos y una aplicación en línea estable y rápida, deberíamos considerar la estrategia de micro frontend para móviles.

 

 

¿Qué son los micro frontends para móviles?

 

Los micro frontends para móviles se presentaron en el Radar Tecnológico del 2020 de Thoughtworks y ahora están en fase de prueba. Según la definición de Cam Jackson de micro frontends, aquí está nuestra definición de micro frontends para móviles:

 

Múltiples módulos que se pueden desarrollar, probar e implementar de forma independiente, pero que parecen ser una única aplicación cohesiva.

 

Los MFE (micro frontends) son una parte esencial de la segmentación empresarial en la arquitectura modular, la arquitectura componentizada e incluso en las superaplicaciones. Por lo general, existen en forma de un módulo o repositorio, o integrados en la carcasa de la aplicación con una estrategia de monorepo. Los micro frontends para móviles suelen tener las siguientes características:

 

  • Orientado a negocios: los MFE se construyen en la capa de plataforma y están fuertemente relacionados con un negocio independiente. El alcance generalmente es de una o varias pantallas.
 
 
  • Aislamiento de módulos: los MFE se construyen, prueban e implementan de forma independiente y generalmente tienen una aplicación de sandbox independiente para pruebas de integración.
 
 
  • Basado en bibliotecas: los MFE son generalmente un módulo de biblioteca de la plataforma del sistema operativo o un paquete binario, dependiendo de las formas de creación y publicación.

¿Cuáles son los beneficios de los Micro Frontends para móviles?

 

 

Capturar nuevos mercados rápidamente

La estrategia de MFE puede proporcionar una máxima reutilización, reducir costos, mejorar la eficiencia, evitar el desperdicio de recursos, mejorar la eficiencia de la operación empresarial, admitir rápida y establemente la expansión de la empresa, incluso multinacionalmente, al mismo tiempo que proporciona una experiencia de usuario consistente. Por ejemplo, la compañía china Meituan Takeout lanza su modelo de negocio en varios canales, incluyendo la aplicación Meituan y la aplicación Meituan Takeout.

 

Batería de tecnología flexible

Los MFE pueden lograr la autonomía técnica para el equipo. El equipo puede elegir la pila de tecnología más adecuada para realizar los requisitos comerciales, como iOS/Android, Flutter, React Native o HTML5, lo que reduce el costo laboral hasta cierto punto y puede realizar algunas páginas con bajo costo. Pero también es importante mencionar que necesitamos construir una capa de plataforma completa para reducir la complejidad de la introducción de MFE de la tecnología de plataforma cruzada.

 

Baja carga cognitiva

Como se mencionó en el artículo sobre la carga cognitiva del equipo, la interacción del equipo es un concepto clave al rediseñar una organización para la agilidad y velocidad empresarial. En el mundo de los micro frontends para móviles, donde cada MFE tiene un límite de negocio claro, el equipo de negocios puede centrarse en la construcción de la funcionalidad comercial para ofrecer valor a los usuarios finales sin tener que trabajar en Monolito, soportar velocidades de compilación prolongadas o resolver problemas introducidos por otros equipos. En el modo de arquitectura Micro Frontends para móviles, cada equipo de características tiene su propio producto de forma independiente, y el costo de mantenimiento está limitado dentro del MFE, lo que reduce la carga cognitiva interna entre equipos (incluyendo la construcción, prueba y mantenimiento), maximizando así la reducción de costos y mejorando la eficiencia de entrega del equipo. Mientras tanto, el equipo de plataforma trata la plataforma como un producto, con el objetivo de proporcionar capacidades reutilizables a los equipos de características para ayudarles a construir características basadas en la plataforma empresarial.

 

Aislamiento empresarial

A diferencia de la aplicación monolítica, los MFE permiten aislar las funciones empresariales dentro del equipo, lo que puede proporcionar una estructura de prueba más completa. La versión estable se puede implementar en la aplicación de shell a través de la iteración de la versión, asegurando la estabilidad de las aplicaciones complejas.

Cuándo usar Micro Frontends para Móviles

 

 

Aunque los MFE para móviles pueden resolver la mayoría de las prácticas de ingeniería, no son una solución universal que se pueda introducir con éxito en todos los escenarios. También pueden generar más problemas, por ejemplo:

 

  • Costo de comunicación: cooperación interequipos adicional, costo de comunicación y dispersión de contexto.

     

  • Costo de mantenimiento: múltiples repositorios y tuberías de proceso.

     

  • Costo de complejidad: conflictos de dependencia entre MFE y la app shell, esfuerzo para establecer un nuevo módulo empresarial.

     

  • Soporte de plataforma: la plataforma evoluciona gradualmente. Durante este proceso, MFE puede necesitar construir capacidades básicas por su cuenta. Esto hará que existan capacidades repetitivas en múltiples MFE, lo que traerá una cierta cantidad de deuda técnica cuando las capacidades se sincronicen en una etapa posterior.

     

     

¿Cuándo adoptan las empresas este enfoque?

 

Los Micro Frontends para móviles no son solo una arquitectura técnica, sino también un ajuste de la arquitectura organizativa empresarial. Basado en la Ley de Conway:

 

Cualquier organización que diseña un sistema (definido ampliamente) producirá un diseño cuya estructura es una copia de la estructura de comunicación de la organización.

 

La empresa debe ajustar su organización para adoptar la estrategia de MFE para móviles. El punto de decisión principal para este enfoque es permitir la entrega de múltiples líneas de negocio en plataformas móviles de manera paralela e independiente. Cuando las empresas quieren mejorar la experiencia del usuario, escalar el negocio móvil, tienen planes de cooperación empresarial con otros terceros, y a la vez aprovechar las inversiones ya realizadas en su ecosistema tecnológico y en el tamaño del equipo, involucrar a MFE es una buena idea.

 

 

Puntos de decisión clave

 

Aquí hay algunos puntos de decisión clave a considerar al pensar en invertir en una estrategia de micro frontends:

 

Hazlo

  • si tienes un requisito para admitir múltiples líneas de negocio en una sola aplicación.
 
  • si el dueño del producto requiere implementar las características planificadas.
 
  • si tienes una fuerte necesidad de tener una experiencia de usuario nativa y consistente

 

No lo hagas

 

  • si hay una etapa de MVP para el producto móvil.
 
  • si hay un requisito empresarial simple, un equipo móvil pequeño.

 

En la siguiente parte de este artículo, explicaremos los cuatro principios de los micro frontends para móviles que hemos destilado de la experiencia.

Aviso legal: Las declaraciones y opiniones expresadas en este artículo son las del autor/a o autores y no reflejan necesariamente las posiciones de Thoughtworks.

Mantente al día con nuestros últimos insights