Hydration without React

← All posts

Hydration without React

2026-02-10

Krate does not ship a virtual DOM. Instead, the compiler emits hydration markers that tell the runtime exactly which DOM nodes a signal drives.

Bindings, not diffs

A signal that feeds a text node becomes a direct write. A signal that feeds an attribute becomes an attribute effect. There is no tree to reconcile, so hydration is predictable and cheap.

Delegated events

Most events are handled through a single delegated listener; events that do not bubble (like focus and change) get direct listeners. Form inputs bind through a dedicated property path.