About this project
Leptos is a full-stack, isomorphic Rust web framework for building declarative user interfaces. It leverages fine-grained reactivity, meaning components run once to create actual DOM nodes and set up a reactive system that updates individual nodes directly, without virtual DOM overhead.
Key capabilities include:
- Full-stack rendering: client-side rendering, server-side rendering (SSR), and SSR with hydration.
- HTTP streaming of both data (Resources) and HTML (out-of-order or in-order streaming of Suspense components).
- Isomorphic server functions: write server-only logic (database requests, authentication) alongside client components and call them with the same shape without maintaining a separate REST API.
- A router built on web fundamentals (links and forms) that works on both server and client.
- Two templating syntaxes: a JSX-like view! macro and a builder syntax.
- Copy + 'static reactive signals for ergonomic state management.
The framework provides starter templates for Actix and Axum, and integrates with the cargo-leptos build tool. It can also be used with Trunk or a simple wasm-bindgen setup. The reactive system can additionally drive native GUI toolkits using event listeners and effects.
Compared to Yew and Dioxus, Leptos uses fine-grained reactivity rather than a virtual DOM. Compared to Sycamore, Leptos uses a JSX-like template format and includes server functions in the core framework rather than relying on a separate metaframework. The project states its APIs are basically settled with no expected major architectural breaking changes, and notes community members are using it for production websites.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.