Roadmap

JAF is at 0.1. This page says what is already in your hands, what is being built next, and what is still an open question.

There are no dates here, and the order inside a section carries no promise. A roadmap that commits to a quarter is a roadmap that ages badly.

Shipped in 0.1

The foundation is done: everything documented on this site works today. The headline is what happens to your components before they reach the browser.

  • One backend, and it is the compiler - every component is emitted as a JavaScript module at build time. No template interpreter ships, and nothing is parsed or evaluated at runtime.
  • Small by construction - a hello-world app is under 10 kB gzipped, and a build includes only the runtime helpers your templates actually call.
  • Strict CSP - no eval, no new Function, no inline handlers. A compiled app runs under script-src 'self'.
  • Named build errors - when the compiler cannot express something, the build stops and names the component and the reason. There is no silent middle ground and no quiet fallback.
  • A compiled playground - the REPL runs this same compiler in your browser and mounts the module it emits. No interpreter, no server, and the Compiled tab shows you the module itself.
  • The whole documented surface - reactivity, components, slots, routing, state, data fetching, overlays, scoped styles, element and route transitions, and React components through JetShake.

How the compiler works is written up in Under the Hood.

Next

The five areas 0.2 is being built around.

  • Server rendering - the production build already prerenders pages to markup and adopts them in the browser. Next is rendering per request: the compiler can already emit to strings instead of DOM nodes, and the work left is the walk from a server response to a live page.
  • Forms and validation - bind: covers two-way binding today. What is missing is the layer above it: form state, submission, and a validation API that puts errors where they belong.
  • More animation - transition:fade, slide and scale ship today, as do route transitions. Next are animate:flip for list reordering, separate in: and out: directions, and parameters on transitions.
  • Performance - JAF is measured on the public js-framework-benchmark rather than in marketing copy. The goal is the top cluster, next to the fastest compiled frameworks.
  • Backend integrations - CRUD helpers on query() and adapters for the common hosted backends, so talking to a real database is wiring rather than a project.

One removal is already announced: ui.page goes in 0.2, replaced by the router's navigation API.

Exploring

Wanted, understood, and not yet attached to a release.

  • Optimistic updates - mutation() updating the cache immediately and rolling back on failure, instead of hand-written cache surgery.
  • DevTools extension - a browser panel for the component tree, the signal graph, and what caused an update.

If something you need is on none of these lists, say so on GitHub. What people ask for is how this page gets reordered.