Remix.run Logo
Xilem – An experimental Rust native UI framework(github.com)
82 points by Levitating 8 hours ago | 22 comments
mtndew4brkfst 6 hours ago | parent | next [-]

Was there some new developments with this project that renewed interest recently? I started learning Rust in 2018 or 2019 and I think "good Rust GUI" research is probably at least that old.

wmf 3 hours ago | parent [-]

The last demo I saw just had a button so the chess app shows a lot of progress.

malekpour 3 hours ago | parent | prev | next [-]

I've done a small project with Dioxus on Blitz. It is principally very close to Xilem and in fact is using some of the Xilem components. https://github.com/DioxusLabs/blitz

sheepscreek 7 hours ago | parent | prev | next [-]

Been using it with mixed success. While I love vello, Xilem is less mature in comparison. Many standard UI components, such as selection box, are not implemented yet. On the other hand, it’s a great opportunity to become a contributor towards a genuinely useful and promising project!

brainless 5 hours ago | parent | prev | next [-]

I keep trying Xilem and then egui or Iced. Xilem needs more widgets out of the box to be easy to build with. Slint is another option. I wonder what cross platform GUI framework (from any language) will finally become as common as Electron based apps or the vast number of native OS apps in Windows or macOS or Linux.

I keep going back to Tauri, which is practical to build desktop apps quickly but still uses HTML, CSS, JS to build the UI. You can use Rust web UI tools but then it is still (system) browser based.

feverzsj 3 hours ago | parent | next [-]

Cross platform GUI is extremely hard. Qt is the only good choice, even though it's still far from mature after 30 years of development.

dafelst 3 hours ago | parent [-]

FWIW Slint was founded by a group of long time Qt alumni, so brings a lot of that know-how into the space.

tvshtr 5 hours ago | parent | prev | next [-]

Something like GPUI probably, I would be quite happy with it if it wasn't so tied and restricted by the Zed's team (they reject PRs because they're not strictly related to Zed), there's even mobile fork. Dioxus native would be second, but it's far far far away from being ready.

synergy20 5 hours ago | parent | prev [-]

QT does it well but the license is a maze

amarant 3 hours ago | parent | prev | next [-]

Given the similarity in "inspired by" projects, how does this compare to iced? I've found iced to be surprisingly mature in every aspect I've tried, except the documentation, which is severely lacking

_stillmind 4 hours ago | parent | prev | next [-]

Why not just use Flutter with Rust, via the flutter_rust_bridge (https://cjycode.com/flutter_rust_bridge/quickstart)? Seems like a reasonable combo to me.

eviks 4 hours ago | parent | prev | next [-]

Is there a plan for this to compete the experiment any time (soon)?

sourcegrift 5 hours ago | parent | prev | next [-]

Very happy with qmetaobject-rs. Qt is tried and tested, dnd multi platform. Also, UI itself is best done declaratively not imperatively. Qmetaobject-rs gives you the best of both worlds: great UI declaratively, logic in Rust.

eviks 5 hours ago | parent [-]

But since this is a declarative framework, it gives you the very best of two worlds with only rust?

jenadine 2 hours ago | parent [-]

The thing about Qt is the maturity ("tried and tested"). Xylem doesn't give you that.

CapricornNoble 3 hours ago | parent | prev | next [-]

Why should I try to learn this instead of Slint?

jenadine 2 hours ago | parent [-]

If you want to build a real app with a stable toolkit, use Slint.

Try Xilem if you want to experiment with new, experimental way to build UIs in Rust.

creata 2 hours ago | parent | prev [-]

What's the rationale for using Rust to write a UI? Using a scripting language (or at least a garbage-collected language) is much less restrictive, and it's not like the "what goes where" UI code is especially performance-sensitive.

QuantumNomad_ an hour ago | parent | next [-]

Same reason every other language has UI frameworks. It is more comfortable and nice to write the whole desktop program in the same language.

jauntywundrkind an hour ago | parent [-]

These people are such jackasses. What's the reason to not use assembly? To not frelling suffer in hell. To have a system that works well together, that gives us a stable base, without infinite danger everywhere.

It's so sad having such perpetuate drains asking only negative vortex energy sink ass questions. No attempt to show any real outreach or curiosity or interest, all sucking nihil void of doubt. No demonstrated ability to offer any useful assessment, just pure sucking doubt.

Good faith questions show some concomitant interest or ability to recognize whats at stake. The harmless innocent child offering savage nothing? I tire of that act.

creata an hour ago | parent [-]

I have been watching people write UI frameworks in Rust for over a decade, you meanie.

The results tend to involve more dynamic allocation than you'd see in a garbage-collected language, or tons of reference counting (e.g., in Leptos) that acts as a less efficient GC. I've read many of raphlinus's posts, and while they're always interesting, the total experience in the Xilem examples just seems like much more effort than using FFI (even C FFI) to glue to something more workable.

Your comparison to assembly is very bizarre - languages of the sort I mentioned are usually at least as safe as Rust, and the "scripting language for top-level logic + compiled language for the bits that need to be fast" combination is ancient. In fact, your vague allusions to "a stable base, without infinite danger everywhere" shows much less understanding of what's at stake, in my view.

I'm sorry my question wasn't enlightened enough for you.

And this is a news aggregator. Not the official discussion forums or anything. People can ask small insignificant questions here, or so I thought.

I'm so tired. You write one measly paragraph that could simply be ignored and someone calls you a "perpetuate drain". Even the chatbots have more humanity than you've got.

Ygg2 an hour ago | parent | prev [-]

Tech wise? If you have your UI in Rust it's both the safest and most performant language to implement it.

And you don't need to ship the entire web stack just to get GUI.