HTML's missing word was Reactive.

A compiled web language. Three symbols replace React, Vue, and Angular. The Rust compiler runs as CLI and WebAssembly - directly in your browser.

counter.hrml
state count: 0 div .counter button @click="count--" "-" span "{count}" button @click="count++" "+"

Three symbols. That's it.

:

State

Reactive data that updates the DOM automatically. Declare once, use everywhere.

:state="{ count: 0 }"
:show="count > 0"
:each="item in items"
@

Events

User interaction. Click, submit, keydown - with modifiers built in.

@click="count++"
@submit.prevent="save()"
@keydown.enter="search()"
$

Server

HTTP communication. GET, POST, PUT, DELETE - with loading and error states.

$get="/api/users"
$post="/api/save"
$loading="isLoading"

Less complexity. Same result.

Feature HRML Alpine.js HTMX React
Client reactivity
Server communication
Single library
No build step
Headless components
CSP-safe
Compiles in browser

See it compile. In your browser.

No install. No signup. Just code.