v0.1 · In development

Build web interfaces
with Rust and HTML.

fusor is a reactive framework for the web. Write HTML templates and native Rust modules. Compile to WebAssembly, with signals that update the DOM directly.

Try an example.

Read the guide

Running in your browser

These are the actual source files behind this example. The HTML defines the view; the Rust module owns its state.

How it works

A few things to know.

HTML templates, Rust modules

Use HTML for markup and CSS for styling. Keep component state in Rust, with ordinary imports and typed inputs.

Templates and components

Fine-grained updates

Signals track the bindings that read them. Changing a value updates the affected DOM nodes, with no virtual DOM reconciliation.

Signals and derived state

Owned work and cleanup

Effects, listeners, and async work belong to an owner. Disposing a component cleans up the work it owns.

Owners and lifetimes

Coherent async views

An async boundary can keep the previous view visible until related reads are ready, then publish their results together.

Async boundaries

Try fusor

The framework is in early development and its crates are not published yet. From a repository checkout, install the CLI:

cargo install --path crates/fusor-cli --locked