Ride
the tide

A SSR component framework for Rust that makes it simple to write fast, type-safe, expressive web UIs while playing nicely with the frameworks you already love.

Built for the deep end

Type Safe

Rust's type system flows all the way through your components. Mistakes are caught at compile-time, not in production.

Macro Powered

Components written directly in Rust with intuitive macros. Pattern matching, loops and conditionals right in your UI.

Framework Agnostic

Drop Tidos into Rocket, Axum, Actix, or anything else. It plays nicely with the frameworks you already love.

Fast SSR

Tidos attempts to do the most work during compile-time, so that your favourite http framework only needs to serve a single string.

Components, the way Rust wants them

Pattern matching, iterators, conditionals, all right inside your components. No DSL to learn — just Rust, with extra power where you want it.

See the component guide
card.rs
1use tidos::{view, Component, Page};
2
3pub struct Card {
4 pub title: String,
5 pub body: String,
6}
7
8impl Component for Card {
9 fn to_render(&self, page: &mut Page) {
10 view! {
11 <div class="card">
12 <h2>{&self.title}</h2>
13 <p>{&self.body}</p>
14 </div>
15 }
16 }
17}