Skip to content

Cómo los Schemas se Convierten en Componentes

Sistema que transforma JSON en componentes funcionales — schema entra, interfaz sale.

Factories

El Factory Pattern es el corazón de schepta:

Qué Es:

InputFactoryOutputResultadoEstado
Form JSONFormFactoryReact/Vue FormInterfaz funcionandoListo
Menu JSONMenuFactoryReact/Vue NavigationNavegación completaEn desarrollo

Cómo Funciona:

Proceso Automático:

  1. JSON Schema define estructura y comportamiento (usando properties y x-component por nodo)
  2. Factory interpreta el schema y resuelve componentes del registro (defaults + Provider + props locales)
  3. Middleware Pipeline transforma props (ej. expresiones de template)
  4. React/Vue Component renderiza la interfaz final

Ejemplo Rápido:

json
{
  "type": "object",
  "x-component": "FormContainer",
  "properties": {
    "email": {
      "type": "string",
      "x-component": "InputText",
      "x-component-props": { "placeholder": "Email" }
    }
  }
}

FormFactory procesa

jsx
<form>
  <input name="email" placeholder="Email" />
</form>

Resultado: JSON estructurado → Interfaz React/Vue funcional. ¡Cero configuración manual!

Tipos de Factory

Cada Factory está especializada en un tipo de interfaz:

FormFactory - Formularios Dinámicos:

Propiedad del SchemaFunciónEjemploResultado
propertiesDefine la estructura del formulario (JSON Schema){ "email": { ... } }Nodos anidados con componentes
x-componentComponente a renderizar"InputText"Input de texto
x-component-propsProps del componente{ "placeholder": "Email" }Pasadas al componente
Propiedad del SchemaFunciónEjemploResultado
propertiesDefine ítems de menú{ "home": {...} }Ítem de navegación
x-component-props.hrefEnlace de navegación"/dashboard"Enlace funcional
properties.submenuSubmenú jerárquicoPropiedades anidadasMenú desplegable

Arquitectura de la Factory

Cómo funciona el Factory Pattern internamente:

Pipeline de Procesamiento:

JSON Schema

Validar Schema (¿Estructura correcta?)

Resolver Componentes (x-component → componente de defaults / Provider / local)

Transformar Props (Middleware + contexto)

Orquestar Render (Árbol final de componentes)

Elementos React/Vue

Cómo se Especializan las Factories:

Cada Factory tiene lógica específica para su dominio:

  • FormFactory: Inyecta contexto del adapter de formulario, aplica validaciones, gestiona estado
  • MenuFactory: Gestiona navegación, estados activos, jerarquía de menú

Puntos de extensión: components y customComponents del Provider, props de la Factory para overrides locales, Middleware Pipeline (ej. array middlewares), externalContext para estado compartido.

Casos de Uso Prácticos

El Factory Pattern resuelve problemas reales de desarrollo:

Escenarios Resueltos:

SituaciónProblema TradicionalCon Factory PatternBeneficio
Formularios RepetitivosCopy-paste de JSXSchema reutilizablePrincipio DRY
Validaciones ComplejasCódigo duplicadoReglas en el schemaCentralización
Menús DinámicosCondicionales hardcodedExpresiones en propsFlexibilidad
UI Multi-tenantRamas por clienteSchema por tenantEscalabilidad
A/B TestingFeature flags complejasSchemas diferentesAgilidad

Enlaces Esenciales

Para EntenderLeerRelación con Factories
Cómo escribir schemas02. Schema LanguageSintaxis que las factories interpretan
Pipeline interno04. Schema ResolutionCómo las factories procesan schemas
Motor de renderizado05. RendererSistema usado por las factories
Transformación de props06. MiddlewarePipeline aplicado por las factories
Configuración global03. ProviderCómo configurar las factories