finds.dev← search

// the find

sycamore-rs/sycamore

★ 3,325 · Rust · MIT · updated Jun 2026

A library for creating reactive web apps in Rust and WebAssembly

Sycamore is a fine-grained reactive UI library for Rust/WASM, taking direct inspiration from SolidJS — signals instead of a virtual DOM, components as factory functions, a JSX-like `view!` macro. It targets developers who want type-safe, no-JS web UIs and are willing to work in Rust to get them.

The reactive core is a proper standalone crate (`sycamore-reactive`) you can use outside the DOM layer, which is a clean design decision. SSR and hydration are first-class, not afterthoughts — there are separate node types for DOM, hydration, and SSR with a clean abstraction boundary in `sycamore-web/src/node/`. The `view!` macro has its own parser and IR (`sycamore-view-parser`) rather than bolting onto syn directly, so error messages are actually useful. The js-framework-benchmark CI workflow means performance regressions get caught before release.

Leptos has overtaken it in community size, ecosystem, and features — the README even admits this, which is honest but also a red flag for anyone evaluating long-term support. The router is thin: no nested routes, no data loaders, no server functions — you're building those yourself. No async component story beyond `Resource`/`Suspense`, which gets painful fast for real apps. WASM bundle size is a real cost and the optimization docs are a single cookbook page, which undersells how much work this actually takes in practice.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →