What is Topcoat?
Topcoat is a very new (announced July 22, 2026) full-stack web framework for Rust created by the Tokio team. It focuses on server-rendered HTML with light client-side reactivity, without using WebAssembly.
Steps We Followed
- Created a new project:Bash
cargo new topcoat_hello cd topcoat_hello - Added dependencies:Bash
cargo add topcoat cargo add tokio --features rt-multi-thread,macros - Replaced src/main.rs with a basic Topcoat page that renders “Hello, World!”.
- Installed the CLI:Bash
cargo install topcoat-cli - Started the development server:Bash
topcoat dev - Opened http://127.0.0.1:3000 in the browser — basic rendering worked.
- Tried an interactive example using signal, @click, and :hidden for a toggle button.
What Went Right
- Project creation and dependency installation worked smoothly.
- Server-side rendering worked correctly.
- The page successfully displayed content from Rust components.
- The development server (topcoat dev) watched for file changes.
- HTML with Topcoat’s reactive attributes was generated correctly.
What Went Wrong
- Port 3000 was already in use from a previous run (fixed by killing the process).
- Client-side reactivity (the toggle button) did not work.
- The JavaScript runtime was present in the page, but clicking the button did not update the DOM.
- Topcoat is still extremely new (v0.5.0) and experimental, so some features are unstable.
Conclusion
Topcoat shows promise as a simple full-stack Rust framework, especially for server-rendered apps. However, because it is so new, client-side reactivity is not yet reliable. It is better suited for experimentation than production use at this stage.