Cómo se integra Fractal-io

Un renderer nativo interpreta el template exportado desde Figma y lo dibuja en la app de tu cliente. El contrato de presentación describe la estructura de la pantalla; los datos dinámicos y las reglas de negocio siguen resolviéndose en tu backend.

Inicio/Plataforma
Renderer nativo

FIOCoreBlocks

FIOCoreBlocks es un Swift Package escrito en SwiftUI para iOS 15+ y Swift 5.9. Interpreta el template con una factory de cadena de responsabilidad: cada nodo se resuelve al bloque nativo correspondiente mediante parsing Codable, contra un registro de bloques extensible.

  • Sin dependencias de WebView
  • SwiftUI + Swift 5.9, iOS 15+
  • Registro de bloques extensible

Contrato de presentación

Cada pantalla es un template que describe estructura, bloques y eventos — no código ejecutable. El renderer lo interpreta contra el registro de bloques nativos conocidos por tu app.

Datos dinámicos

El contrato declara qué datos necesita cada bloque; tu backend resuelve esos valores en el momento. La estructura es reutilizable, los datos cambian por pantalla y por cliente.

Límites de responsabilidad

Fractal-io presenta. Tu backend decide.

Fractal-io resuelve

  • Traducción de diseño a template nativo
  • Renderer de bloques y presentación móvil
  • Contrato de datos para la pantalla

Tu backend conserva

  • Datos y fuentes de verdad
  • Permisos y autorización
  • Reglas de negocio
Composer

Arma la pantalla, exporta el contrato

El Composer (este mismo panel, disponible en /composer) ofrece un canvas de arrastrar y soltar, una paleta con los 26 bloques, un panel de capas y un panel de propiedades para editar cada bloque seleccionado.

Al terminar, el Composer exporta el template versionado de la pantalla, listo para tu equipo mobile.

Eventos declarativos

Cualquier bloque puede declarar eventos en el contrato. Tu app host recibe el event_id y el event_data y decide qué hacer.

  • on_tapToque simple sobre el bloque
  • on_large_tapToque prolongado
  • on_double_tapDoble toque
  • on_changeCambio de valor (campos, checks, dropdowns)
  • on_completeFinalización de una acción (por ejemplo, pin input)

Theming a nivel de app

El tema se define una vez y se aplica a todos los bloques que renderiza el contrato.

  • Modo claro / oscuro
  • Tipografía de la app
  • Color primario y secundario
Arquitectura

El contrato describe UI, no ejecuta código

El JSON solo declara estructura, datos y eventos; no incluye lógica ejecutable. El motor lo resuelve contra un registro cerrado de bloques nativos conocidos por la app, y cada evento se procesa en el código de tu app host — el contrato nunca ejecuta nada por sí mismo.

Detalle técnico

El contrato, bloque por bloque

Para quien quiera ver la forma exacta del template: un documento JSON con 26 bloques nativos, organizados en cinco familias.

contrato.json
{
  "type": "card",
  "data": {
    "title": "Tu saldo",
    "value": "$2,430",
    "padding": 16,
    "cornerRadius": 12,
    "on_tap": {
      "event_id": "balance_card_tap",
      "event_data": { "accountId": "abc123" }
    }
  }
}

Layout

  • Container
  • Column
  • Row
  • Grid
  • Expanded
  • Padding
  • Scroll

Display

  • Text
  • Image
  • Icon
  • Card
  • Divider
  • Spacer

Interacción

  • Text Button
  • Icon Button
  • Text Field
  • Check Box
  • Dropdown Menu
  • Pin Input
  • Search
  • Gesture Detector

Datos y listas

  • List
  • List Section
  • List Row

Feedback

  • Alert Banner
  • Stat Progress Track

Propiedades comunes a todos los bloques

Color de fondoPaddingMargenTamañoAlineaciónFormaRadio de esquinaDegradadoImagen de fondoOverlays
Hoja de ruta

Lo que viene

PróximamenteAndroid (motor en desarrollo, actualmente solo esqueleto)
PróximamentePublicación en vivo del contrato desde el Composer hacia el backend
PróximamenteA/B testing sobre variantes de contrato
PróximamenteAnalítica de uso por pantalla y por bloque

Mira la plataforma funcionando sobre el caso de un cliente tuyo

Ver una demo sobre mi flujo