Show HN: Sycamore – next gen Rust web UI library using fine-grained reactivity (sycamore.dev)

by lukechu10 75 comments 95 points
Read article View on HN

75 comments

[−] electrograv 44d ago
IMO a UI library landing page should always contain a screenshot example of the UI.

I can’t find a screenshot of it anywhere, let alone the landing page.

[−] josephg 44d ago
It looks like this is a web UI library, so it would just render using regular html.

I wish they said that on the homepage. I assumed it could render to the desktop or something, and I had to read tea leaves to figure that out.

[−] simonbw 44d ago
The first sentence of this page says it:

> Sycamore is a next gen Rust *web* UI library powered by fine-grained reactivity.

[−] lukechu10 44d ago
That’s because I’ve changed it since posting this!
[−] FrustratedMonky 44d ago
How does that mean that shouldn't have a demo available?
[−] lukechu10 44d ago
There are a lot of demos! Check out the examples/ folder on GitHub.
[−] FrustratedMonky 44d ago
Folders on Github is not a demo.

This is why open source doesn't gain traction.

"Hey can i see a cool demo of your stuff"

"No, FU, here is some code in a folder somewhere. F'n normals can't even compile. doh."

[−] lukechu10 44d ago
If you actually read the README.md file, the first few lines say that there are hosted versions available that you can view directly in your browser. I also mentioned this in another comment. I don't know what else you want...
[−] FrustratedMonky 44d ago
This wasn't necessarily aimed at this project.

I just see a lot of open source projects fail on the basic "get the message out".

And, I actually would like to use a Rust / Wasm UI.

That's what was frustrating. I'm looking for this. And still, had to wade through site to find some slick demo showing the merits of the speed and responsiveness. You want some snappy demos to show zip. It says 'reactivity', so I was expecting some super fast demo.

[−] FrustratedMonky 44d ago
This?

Sure. Ok. Now, put those links on the main page with a big bold "Examples Here". Is it that hard. Why make potential users wade through 5 clicks to get to an example, and then see if they are interested enough to persue further.

If you want users, put in bold, splashy, easy to get to.

It isn't that hard.

Viewing on examples.sycamore.dev All the examples are hosted under examples.sycamore.dev/ with being the name of the example you want to view. For instance, the todomvc example is hosted on examples.sycamore.dev/todomvc.

[−] Tuna-Fish 44d ago
The landing page is the screenshot. It uses sycamore.
[−] TechSquidTV 44d ago
Unless maybe it's headless, then I still expect a component library or something. Still, I see nothing.
[−] Flavius 44d ago
"Read the Book" button, next gen web UI. That's all you need to know about this one.
[−] gwbas1c 44d ago

> Reactive Apps with Effortless Performance.

> Sycamore is a next generation Rust UI library powered by fine-grained reactivity.

It's not clear on the landing page that this is for in-browser UI, as opposed to desktop UI and/or mobile UI.

I would make it completely unambiguous that Sycamore is for web applications.

[−] dewey 44d ago
In the footer: "This website is also built with Sycamore. Check out the source!" https://github.com/sycamore-rs/website
[−] embedding-shape 44d ago
The website mentions "giving you full control over performance", what are those knobs and levers exactly? What does those knobs and levers influence, and what sort of tradeoffs can you make with the provided controls?
[−] wsowens 44d ago
I looked briefly, but is anyone aware of the differences between Yew[1] and Sycamore[2]? Presumably they are both Elm-influenced(?) Rust web UI libraries named after trees, but it's unclear to me why I should use one versus the other.

1. https://github.com/yewstack/yew

2. https://github.com/sycamore-rs/sycamore

[−] cma256 44d ago
I really like these projects but missing from them is genericity. If you're taking the time to build a WASM app in Rust it would be nice if that app could compile to something other than WASM. For example, looking at the sycamore website's source I see p, h1, div, etc. What I'd rather see is "row", "column", "text". In their source I see tailwind what I'd rather see is "center", "align right", etc.

In other words, elm-ui but for these WASM Rust apps. Building a mobile app, a desktop app, and a web app, in my mind, should be accomplish-able given the right primitives (without requiring a JavaScript runtime be bundled). Rust's multi-crate workspaces make it a really great candidate for solving these cross-platform problems. IMO of course.

[−] 0x3f 44d ago
I think if you're going to use Rust on front end you're probably going to use it on back end too. In that case, I would just use Dioxus and get the e2e typing for free. What would be the benefit of Sycamore?

I wouldn't recommend e2e Rust generally yet though. I think server/API + web could work, but mobile is just boiling the ocean and will never be as good as native. You might think you can just use it for server/API + web, then do native mobile apps, but actually the escape hatches in all the frameworks I've used are not great.

Sad to say but "just use React" remains the good advice.

[−] arpadav 44d ago
i've had my shot at sycamore a number of times. IMO leptos (leptos.dev) has far more fine-grained capabilities, and dioxus (dioxuslabs.com) is overall more hand-holdy but also powerful. comes with tradeoff for speed. wasm still isnt there yet (yet..) but a lot more web frameworks (including smaller rust ones) can be tracked here: https://krausest.github.io/js-framework-benchmark/current.ht...
[−] FrustratedMonky 44d ago
Every UI or GUI 'new fancy' package should include a very obvious Demo or link to Demo on the Home Page.

You're trying to sell me on some slick looking stuff -> Then Show It. Make it obvious. The market is crowded, people don't have time to hunt around and download it to try.

Don't make me read a manual before convincing me I should spend time on it.

[−] pstomi 44d ago
I looked at your doc book (https://sycamore.dev/book/guide). I suppose it uses sycamore itself. Do you plan to add a search to it?

(if the "search implementation" is readable enough, it may perhaps also serve as teaching material :-)

[−] sourcegrift 44d ago
Looks very good and probably will be my library of choice for my next web project.

For desktop, I'm very happy with qmetaobject-rs. Qt is time tested and highly reliable. And gui is, frankly, serious business.

Also, Generally speaking, UI itself is best done declaratively rather than imperatively. There's a reason quick is adopted more than qwidgets.

[−] jtrueb 44d ago
Is there a new version or news related to this? v0.9 was Nov 2024, and Leptos and Dioxus have been a lot more active.
[−] conceptme 44d ago
a UI library needs some demo
[−] eviks 44d ago
What is "next gen" about it, is it "just" fine-grained reactivity? Or is this opposed to prev gen of Rust web UI libs, which were...? Couldn't find it in the book quickly, and it seems to not even have search...
[−] cogman10 44d ago
Why is the deliverable so bulky?

The webpage has a 250kb wasm deliverable. The todo app has a 500kb deliverable.

That's a pretty big chunk of bytes for such simple applications.

[−] luckydata 44d ago
Not a single example of an actual application is not a good look for a web ui library