Native DOM, no virtual DOM
Templates render to real DOM nodes and fine-grained reactivity updates only what changed.
Frontend framework
A lightweight frontend framework that renders to the native DOM with fine-grained reactivity — no virtual DOM, no build step required.
ZoiJS is a client-side UI framework built around three ideas: HTML tagged-template rendering to the real DOM, fine-grained reactive state, and a tiny runtime. It has no virtual DOM and requires no compiler, so what you write is what runs. TypeScript type definitions ship with the framework for editor support and optional type-checking.
Highlights
Templates render to real DOM nodes and fine-grained reactivity updates only what changed.
A small, learnable API surface that stays close to the browser platform.
Ships type definitions so you get autocomplete and optional type-checking without a required compile step.
Compose plain functions that return HTML templates — no special file format needed.
Ecosystem
Example
import { html, createState } from "@zoijs/core";
function Counter() {
const count = createState(0);
return html`
<button onclick=${() => count.set(count.get() + 1)}>
Count: ${() => count.get()}
</button>
`;
}
ZoiJS is available and used in production for this website. See the documentation for the full API reference and guides.
Source
Live stars and contributor counts arrive with backend integration.