Server-driven UI (SDUI) es un patrón donde un documento describe qué debe mostrar una pantalla, y un motor en el cliente interpreta esa descripción y la traduce a componentes nativos reales.
SDUI no es un WebView
Un WebView carga HTML, CSS y JavaScript dentro de un contenedor nativo: la interfaz es, en los hechos, una página web con el desempeño y las limitaciones de un navegador embebido. SDUI es distinto: el contrato solo describe estructura y datos, y el motor nativo (en Fractal-io, FIOCoreBlocks) dibuja cada bloque con SwiftUI. No hay navegador de por medio.
El contrato como fuente de verdad
Una pantalla se representa como un documento con esta forma:
{ "type": "...", "data": {...} }
Cada nodo declara un "type" (qué bloque nativo usar) y un "data" (sus propiedades: texto, color, padding, alineación, y así). El motor resuelve ese árbol contra un registro de bloques conocidos.
Qué gana el equipo de producto
El contrato separa la estructura de una pantalla de los datos que la completan. Mientras la pantalla siga usando bloques ya soportados por esa versión de la app, los datos que la llenan se resuelven en tiempo real contra el backend, sin que el equipo tenga que reconstruir esa pantalla para cada cliente o contexto.
Qué sigue siendo trabajo de ingeniería
SDUI no reemplaza al equipo nativo. El motor, el registro de bloques y la lógica de negocio que responde a los eventos (on_tap, on_change, on_complete...) siguen viviendo en el código de la app. Un template nuevo o modificado se empaqueta y se publica junto con una nueva versión de la app — la gestión remota de layouts no es parte del MVP hoy.