3 ms·
> Rust is fantastic for writing HTTP servers, microservices, and desktop applications. In which world is Rust fantastic for writing desktop applications? Where
by spacechild1 1y ago
> Rust is fantastic for writing HTTP servers, microservices, and desktop applications.
In which world is Rust fantastic for writing desktop applications? Where are the mature Rust UI frameworks?
> Desktop apps sing when written in Rust.
What does this even mean?
> A lot of AI powered desktop apps are being written in Rust now.
For example? And what do you mean by "AI powered desktop apps"?
- echelon 1y ago> In which world is Rust fantastic for writing desktop applications? Where are the mature Rust UI frameworks? Rust has come a remarkably long way [1] ! It's better than any language that isn't C/C++. We have bindings to all of the major UI toolkits, plus a lot of native toolkits. You can also use Electron/Tauri for Javascript, or Dioxus for something more performant. Egui is also really nice for dev tools. > What does this even mean? Rewrite It In Rust metrics tend to tell good stories. Developer blogs (links escaping me right now) show positive performance gains for lots of consumer desktop software written in whole or in parts using Rust. Discord, Slack, lots of other apps are starting to replace under-performing components in Rust. > For example? And what do you mean by "AI powered desktop apps"? Stuff like Zed [2] and the open source Photoshop-killer I'm working on (user-guided volumetric rendering, real time instructive Figma). The creator or egui works on Rerun [3], which is industrial / spatial visualization. Etc, etc. [1] https://areweguiyet.com/ https://areweguiyet.com/ [2] https://zed.dev/ https://zed.dev/ [3] https://rerun.io/ https://rerun.io/
- spacechild1 1y ago> [1] https://areweguiyet.com/ https://areweguiyet.com/ The only mature cross-platform UI frameworks I see in this list are written in C and C++ :) And of all the various Rust bindings for Qt, only a single one ("ritual") offers bindings to the Widgets API. Not only are these bindings unsafe, the project has also been abandoned. https://github.com/KDAB/cxx-qt/?tab=readme-ov-file#comparison-to-other-rust-qt-bindings https://github.com/KDAB/cxx-qt/?tab=readme-ov-file#compariso.... Of course, this is not suprising, given that the API surface of Qt6 is huge and difficult (or impossible?) to safely wrap in Rust. (The reality is that Rust's ownership model makes it rather awkward to use for traditional UI frameworks with object trees.) Tauri looks neat, but the actual UI is a webview, so it's not everyone's cup of tea. (Certainly not mine.) As you said, egui is cool for simple tools, but not suitable for complex desktop applications. Yes, Rust has gotten quite a few desktop UI frameworks, but I don't see any industry standards yet. Don't forgot that Qt has been in development for 30 years now! Rust has a lot to catch up.