La segunda plataforma donde la UI se divide
Construye una UI nativa para un SO y la segunda plataforma inicia una bifurcacion: sus propios componentes, sus propias reglas de espaciado, su propio conjunto de errores de diseno. Mantener dos interfaces iguales significa mantener dos fuentes de verdad que se desincronizan en cuanto alguien edita una.
Un runtime de mini-programa incluye una biblioteca de componentes que el super-app renderiza mediante un contrato comun, asi los mismos botones, listas y hojas se ven identicos en cada super-app.
Que es una biblioteca de componentes compartida
El runtime expone un conjunto fijo de primitivas — WeUI de WeChat y Ant Design Mini de Alipay son ejemplos — que el super-app pinta con fidelidad nativa. Tu diseno describe intencion (una tarjeta, una barra de pestanas), no pixeles, y el runtime la resuelve en cada plataforma. Material Design y el grupo de design tokens de W3C describen la misma idea para la web abierta.
Donde se nota la diferencia
| Paso | Nativo (por plataforma) | Runtime de mini-programa (biblioteca compartida) |
|---|---|---|
| Componentes | Reconstruidos por SO | Una biblioteca |
| Reglas de diseno | Se bifurcan | Mismo contrato |
| Errores visuales | Por plataforma | Compartidos, fix una vez |
| Sistema de diseno | Duplicado | Fuente unica |
| Nuevo super-app | Nueva bifurcacion | Reusa la biblioteca |
El resultado es una interfaz que significa lo mismo donde sea que aparezca.
Por que lo compartido vence a lo bifurcado
Una biblioteca compartida significa que un fix visual aterriza una vez y llega a cada super-app, en lugar de parcharse en tres lugares y aun asi no coincidir. Tambien significa que un nuevo super-app hereda el sistema de diseno existente en lugar de iniciar una tercera bifurcacion.
Como lo aplica Cross Mini App
Cross Mini App ejecuta los programas en un runtime con un contrato de componentes compartido, asi tu sistema de diseno se renderiza identico entre super-apps. Construyes la interfaz una vez; el runtime la mantiene consistente. Dejas de mantener tres UIs y empiezas a tener una.
Esa es la diferencia entre una interfaz que se bifurca y una que se mantiene.