· 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.

Related coverage

Also worth reading

  1. next.js 16.5.0-canary.47 released
  2. CPython 3.16.0a2 released for developers
  3. NASA keeps its PROMISE to raid Mars testbeds for parts
  4. GentleOS, 16, enables classical music playback on classic PC
  5. Cloudflare Develops Public Certificate Authority for Post-Quantum Web Security