· javascript
Tokio Releases Topcoat: A Batteries-Included Full-Stack Rust Framework
The project is positioned as a batteries-included web framework that stays entirely server-rendered, with reactivity added through cross-compiled Rust expressions rather than WebAssembly.
Topcoat introduces several ideas, including a view! macro for mixing HTML with Rust control flow, module-based routing inferred from the project's file tree, an asset pipeline with content-hashed URLs, and a Tailwind integration that works without Node.js. It also announces tighter integration with the Toasty async ORM, which handles migrations and database access in the same Rust workspace.
One of the headline design choices in Topcoat is the $(...) expression. These are ordinary type-checked Rust fragments that Topcoat evaluates on the server for the initial render and also translates to JavaScript, so they re-run instantly in the browser without a WASM bundle or separate client build step.
When an update does need the server, developers can mark a component as a #[shard]. Topcoat re-renders the shard on the server whenever one of its $(...) arguments changes, then swaps the new HTML into the page, giving a similar feel to reactive updates without shipping a client-side router.




