About this project
Topcoat is a modular, batteries-included Rust framework for building full-stack web applications. It prioritizes simplicity and productivity, offering a unique approach that combines server-side rendering with client-side reactivity without the need for a separate API layer or client build step.
Key features include:
- **Server-side rendering with async components**: Components can be async and query the database directly, eliminating traditional API boilerplate.
- **Client reactivity without boilerplate**: The `$(...)` expression is type-checked Rust that runs on the server for initial render and translates to JavaScript for instant browser re-execution, with no wasm bundle or client build step.
- **Powerful HTML templates**: The `view!` macro supports familiar Rust control flow, conditional attributes, and a CLI formatter (`topcoat fmt`).
- **Module-based routing**: Optionally infer the route tree from the app's module structure without a build step.
- **Premade components**: Topcoat UI is a component library based on Tailwind, inspired by shadcn/ui, with components copied into the project for easy customization.
- **Asset bundling**: The bundler scans the binary for `asset!` calls, copies or downloads files, and serves them with aggressive caching. Includes utilities for web fonts and icons.
- **Built-in Tailwind support**: Optional feature to integrate Tailwind CSS without Node.
- **Third-party integrations**: htmx, Alpine AJAX, Datastar, and more.
Topcoat is early-stage and experimental, with breaking changes expected. The roadmap includes features like static export, client-side navigation, authentication, and more.
For more information, see the [Getting started guide](https://github.com/tokio-rs/topcoat/blob/main/crates/topcoat/docs/getting_started.md) and the [documentation](https://docs.rs/topcoat/latest/topcoat).
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.