Introduction
Mikata is a UI framework built on three ideas: signals, no virtual DOM, and components that run exactly once. Together they add up to code that's easier to write, cheaper to run, and simpler to reason about.
Signals, not re-renders
State lives in signals. When a signal changes, Mikata updates the exact DOM nodes that read it - no component re-renders, no diffing, no stale closures. The component function runs once on mount and never again. That's it.
import { signal, computed } from 'mikata';
const [count, setCount] = signal(0);
const doubled = computed(() => count() * 2);
// Call the getter to read. Call the setter to write.
// The signal tracks reads automatically - no dependency arrays.JSX, compiled
Mikata's JSX is transformed at build time into real DOM operations by @mikata/compiler. There is no virtual DOM. Writing a reactive expression like {count()} in JSX creates a surgical binding that only updates that text node when the signal fires.
Where to next
- Install - bootstrap a new app with
create-mikata. - Your first app - a working todo list in one file.
- Reactivity - signals, computed, effects in depth.