Reactive Apps with
Effortless Performance.
Sycamore is a next generation Rust UI library powered by fine-grained reactivity.
Latest Release: v0.9.1
use sycamore::prelude::*;
#[component]
fn Counter(initial: i32) -> View {
let mut value = create_signal(initial);
view! {
button(on:click=move |_| value += 1) {
"Count: " (value)
}
}
}
Features
Effortless Performance
Sycamore is built on top of Rust and WebAssembly, giving you full control over performance.
Fine-Grained Reactivity
Sycamore's reactivity system is fine-grained, meaning that only the parts of your app that need to be updated will be.
Type-checked UI
Whether you use our custom DSL or the builder API, Sycamore type-checks your code to catch errors at compile-time.
Server Side Rendering (SSR)
Sycamore supports Server Side Rendering out of the box. If you don't need it, however, SPA mode works just as well.
Async and Suspense
Easily load and display asynchronous data using the resources and suspense API with first-class async/await support.
Built-in Routing
Sycamore comes with a built-in router that supports both client-side navigation and server side rendering.
Community
on GitHub
on GitHub
on crates.io
Sycamore is made possible by all our community contributors. Thank you!
Interested in contributing as well? Check out our contribution guide.
News
November 1, 2024
Announcing Sycamore v0.9.0
Reactivity v3, View v2, resources API and suspense, SSR streaming, attributes passthrough, new website, and more!
August 28, 2022
Announcing Sycamore v0.8.0
Reactivity v2, better component props and children, async/await support, and more...
February 1, 2022
A first look at Sycamore's new reactive primitives
How the next version of Sycamore will be the most ergonomic yet.
December 8, 2021
Announcing Sycamore v0.7.0
Client-side hydration + Builder API
September 12, 2021
Announcing Sycamore v0.6.0
Faster and faster with plenty of fixes and features...
July 6, 2021
Announcing Sycamore v0.5.0
SSR + Routing