Sycamore
What is Sycamore?
Sycamore is a modern VDOM-less web library with fine-grained reactivity.
- Lightning Speed: Sycamore harnesses the full power of Rust via WebAssembly, giving you full control over performance.
- Ergonomic and Intuitive: Write code that feels natural. Everything is built on reactive primitives without a cumbersome virtual DOM.
- No JavaScript: Had enough of JavaScript? So have we. Create apps using Sycamore without touching a single line of JS.
Documentation
Sycamore is extensively documented:
- Getting Started: How to write your first Sycamore app.
- Reactivity: Find out how to use Sycamore's powerful reactive primitives.
- API Documentation: rustdocs for the
sycamore
crate.
Still have questions? Don't hesitate to stop by our friendly Discord server.
Examples
Sycamore has many examples for your reference in the examples/
directory. Be sure to cheek them out!
sycamore-rs.netlify.app
Viewing on All the examples are hosted under sycamore-rs.netlify.app/examples/<example_name>
with <example_name>
being the name of the example you want to view. For instance, the hello
example is hosted on sycamore-rs.netlify.app/examples/hello
.
Building Locally
All the examples can also be built locally using Trunk. For instance, the following command builds and serves the hello
example:
cd examples/hello
trunk serve
Now open up localhost:8080
in your browser to see "Hello World!".
Perseus
Perseus is a fullstack framework built with Sycamore. Think NextJS or SvelteKit but with no JavaScript. Everything from backend to frontend is built with pure Rust!
Alternatives?
Don't think Sycamore is for you? Thankfully, there are plenty of alternatives!
-
SolidJS: A declarative, efficient and flexible JavaScript library for building user interfaces
Solid is a JavaScript library which greatly inspired Sycamore. Many concepts such as fine-grained reactivity and components as factory functions were borrowed from Solid. If you don't mind working with JavaScript (or TypeScript), go check it out! -
Yew: Rust / Wasm framework for building client web apps
Yew was also a big inspiration for Sycamore. Yew employs a VDOM and has a MVU (Elm) architecture. If you think that's for you, take a look! -
MoonZoon: Rust Fullstack Framework
MoonZoon also champions the no VDOM paradigm and uses dominator as its underlying DOM layer. MoonZoon is a fullstack framework making it easier to combine frontend and backend code with minimal boilerplate.
Contributing
- Report issues on our issue tracker.
- We love Pull Requests! For more information, check out the section on contributing in the docs.
Sycamore would not have been possible without the wonderful contributions from the community. Thank you!