Principios de Micro Frontends para Móviles
Como el creador de MFE (Micro Frontends), Thoughtworks ha involucrado los Micro Frontends para Móviles en muchos proyectos y ha destilado cuatro principios fundamentales:
Propiedad del negocio
Construir la plataforma como un producto
Autonomía
Gobernanza de la plataforma federada
Exploraremos estos cuatro principios con más detalle.
1. Propiedad del negocio
El cuello de botella en la etapa de desarrollo de aplicaciones móviles es que el producto final enviado a la tienda de aplicaciones sigue siendo un paquete comprimido de una sola aplicación, por lo que la capacidad de cada equipo de negocios para implementar y publicar de forma independiente es una gran limitación. Lo que podemos hacer es basarnos en el soporte técnico modular proporcionado por la plataforma móvil. En la fase de empaquetado, podemos desacoplar al equipo de negocios del nivel del repositorio de código y, a su vez, podemos construir nuestro propio BFF (backend para frontend) para apoyar nuestro propio negocio, lo que nos permite cambiar los módulos de negocio dentro de nuestro equipo de dependencias externas a dependencias internas, dándonos más flexibilidad para programar tareas según las prioridades. Al final, un equipo de características podría obtener la propiedad del negocio, incluyendo MFE y BFF para móviles.
2. Construir la plataforma como un producto
Actualmente, el mercado incremental está convirtiéndose en el mercado de acciones. Con un público objetivo fijo, necesitamos construir una plataforma en lugar de un producto en un mercado existente para respaldar más productos empresariales y permitir que diferentes líneas de negocio desarrollen de forma independiente características de productos en línea en la plataforma. Como se sugiere en "Thoughtworks Looking Glass: Realizing the potential of platforms in 2022", debemos tratar a las plataformas como productos y construir plataformas de infraestructura enfocadas en desarrolladores y modelos de negocio de plataforma para todos los equipos de MFE.
3. Autonomía del equipo
Para los equipos de desarrollo, la estrategia Micro Frontends for Mobile maximiza la autonomía del equipo. ¿Cómo mantener la agilidad y la autonomía del equipo?
Necesitamos implementarlo en tres fases:
- Etapa de planificación y diseño: definir características basadas en los OKR, diseño de experiencia de usuario basado en el modelo de negocio.
- Etapa de desarrollo e implementación: seleccionar de manera independiente la pila de tecnología basada en el nivel de la plataforma, o considerar la construcción de capacidades empresariales en contenedores multiplataforma, construir selectivamente MFE y BFF, que son mantenidos por el equipo; construir tu propio pipeline para ejecutar pruebas unitarias y pruebas automatizadas más rápidamente, construir una plataforma interna de distribución de MFE para admitir la implementación y prueba independientes de MFE;
- Etapa de lanzamiento y operación: hacer un plan de lanzamiento según el tren de lanzamiento, utilizar la plataforma para integrar el monitoreo de rendimiento y el enterramiento de datos y otras capacidades básicas, admitir el lanzamiento en gris y la función de conmutación remota, y garantizar la estabilidad de toda la aplicación.
4. Gobernanza de la plataforma federada
Como equipo distribuido de una gran aplicación móvil, los valores predeterminados sensatos se vuelven increíblemente importantes, especialmente cuando el entregable final es en realidad una colección de todo el código del equipo. La construcción de una gobernanza de plataforma federada es esencial, la cual tiene como objetivo cambiar el sistema de valores: permitir la interoperabilidad y el pensamiento de ecosistemas, y eliminar la fricción.
Estándares de micro frontend
Dado que MFE maximiza la autonomía del equipo, FG (gobernanza federada) debe ayudar a establecer valores predeterminados sensatos de MFE y guiarlo a nivel arquitectónico, incluyendo la identificación de capacidades de base comunes y la creación de planes de hundimiento; definiendo la línea base de la tecnología de micro frontends para móviles, por ejemplo, versión de sistema operativo, principio de arquitectura de proceso, seguridad, definición de dimensiones de salud del sistema, resolución de conflictos de dependencia, etc.
Límites de productos y directrices de diseño de micro frontends
FG debe ayudar a definir la directriz de diseño de productos para asegurar una experiencia de usuario consistente y definir los límites del producto. Atomic Design es un paradigma de diseño popular que compara las reglas de diseño con estructuras celulares, desde átomos hasta páginas, para lograr una granularidad mínima de consistencia de experiencia de usuario.
Políticas de gobernanza automatizadas como capacidades de plataforma
La herramienta de gobernanza técnica de MFE también es parte de la preocupación de FG. Por ejemplo, se utilizan plantillas para simplificar y unificar el proceso de configuración de MFE, y se proporcionan herramientas automáticas como un bot de gestión de dependencias, escaneo de seguridad, gancho de git de estilo de código y bot de publicación para garantizar la calidad de MFE y ahorrar costos de inicio.
Supervisión de gobernanza federada
FG podría estar compuesta por el gerente de producto de la plataforma, arquitectos y miembros de toma de decisiones de cada equipo de MFE de la plataforma. A través de un contacto cercano y una reunión regular, FG puede realizar conjuntamente el desarrollo evolutivo de la arquitectura móvil.
Conclusión
El objetivo principal de los MFE es mejorar la escalabilidad y autonomía del equipo, lo que hace igualmente importante las prácticas técnicas y la colaboración a nivel organizacional. Esperamos que podamos proporcionar algunas pautas a través de nuestra experiencia para ayudarlo a encontrar la solución más adecuada para las aplicaciones móviles.
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.