⬡ FRAMEWERK
Integrations

json-render

How Framewerk relates to json-render — concept mapping only; the exporter is planned, not shipped.

View as Markdown

json-render

Status: planned. There is no json-render exporter today. This page is a concept-mapping table. There are no install instructions because there is nothing to install.

json-render is schema-agnostic: you define a catalog of your React components and map JSON to them. Framewerk is the opposite — an opinionated document format with a reference renderer that needs no catalog of yours. The relationship is export — post-1.0 — so a json-render host can draw a Framewerk document through its own components.

Concept mapping

json-render conceptFramewerk equivalent
Component catalog (yours)Built-in node types; user components are a separate, declared layer
Schema / JSON you sendA Framewerk Spec document
Props passed to your componentNode layout props + type-specific props
Conditional renderingshowWhen / hideWhen expressions
State / bindingsstateVars and action strings
Navigationnavigate(screenId) + flows[]
Themingstyles[] tokens and rules; modes for light/dark
Validationvalidate() from @framewerk/spec — errors and warnings

The same screen, both shapes

Framewerk (what you write today):

A Framewerk screen
phone
SPEC.JSON
RENDERED OUTPUTFRAMEWERK RENDERER
Coffee Cart
Order
Edit the JSON to update the rendered screen.Edits stay in this preview

The same screen as json-render JSON bound to your catalog (illustrative, not a shipped export):

{
  "type": "Column",
  "props": { "gap": 16, "padding": 24 },
  "children": [
    { "type": "Heading", "props": { "text": "Coffee Cart" } },
    { "type": "Button", "props": { "label": "Order", "variant": "primary" } }
  ]
}

In json-render, Heading and Button must exist in your catalog. In Framewerk, text and button are part of the format and the reference renderer draws them with no components of yours. That is the whole difference; neither is a subset of the other.

When the exporter ships

It will lower a Framewerk document to json-render JSON for a host that already has a catalog. Until then: no install, no CLI, no claim of support. Follow the project changelog for the status flip.