Proa is a Rust web framework for developers who want the server to produce finished pages, with JavaScript added only where interaction needs it. Its CLI reached crates.io on October 12, followed by CLI 0.1.3 on October 13. This is a new distribution milestone, not a claim that the project itself began this week.
- The useful distinction: A typed component can render both HTML for a browser and Markdown for a command-line client or agent. Both use the same data, but developers define each representation explicitly; Markdown is not automatically a perfect copy of the page.
- Interface and setup: Install with
cargo install proa-cli --locked, then runproa new site hello-proa --yesand, inside that directory,proa dev --open. The basic starter uses Axum, a Rust HTTP server framework, and also requires the Tailwind CSS CLI on your path. Initial dependency compilation can take several minutes. - Interactive pieces: RSJS compiles supported Rust state and event handlers into JavaScript for individual interactive regions. Static components need no client code. Streaming lets the server send ready page sections before slower data arrives.
- Access and cost: The framework and CLI are Apache-2.0 licensed, including commercial use without a separate license purchase. Hosting is your responsibility. The separate Proa UI catalog mixes free and Pro components; do not assume every advertised component is included.
- An important boundary: RSJS is not a general Rust-to-browser compiler. Its own limitations document says arbitrary browser APIs and unrecognized handler operations need separate JavaScript. Unsupported client code is rejected rather than transparently translated.
The practical appeal is a shared data model for human-facing pages and machine-readable documents—not simply another claim of faster rendering. Proa publishes its own benchmarks, but this capture is a documentation review, not an installation test or independent performance measurement. Start with a small route before considering a framework migration.