Principios de Micro Frontends para Móviles
Ìý
Ìý
Como el creador de MFE (Micro Frontends), ÷ÈÓ°Ö±²¥ 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
Ìý
´¡³Ü³Ù´Ç²Ô´Ç³¾Ã²¹
Ìý
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 "÷ÈÓ°Ö±²¥ 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. ´¡³Ü³Ù´Ç²Ô´Ç³¾Ã²¹ 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.
Ìý
Ìý
°ä´Ç²Ô³¦±ô³Ü²õ¾±Ã³²Ô
Ìý
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 ÷ÈÓ°Ö±²¥.