10 ms·
>That's because Rust GUI people are like Lispers and functional programmers — too obsessed with doing things correctly "from first principles" and "purity". Th
by Klonoar 4y ago
>That's because Rust GUI people are like Lispers and functional programmers — too obsessed with doing things correctly "from first principles" and "purity".
That's... entirely wrong and not necessary to paint swathes of developers like.
Rust has numerous solutions for native GUIs. People ship apps with those stacks. Rust also has things like Tauri for when you don't want to deal with differences across platforms.
Just because there's not one blessed solution doesn't mean it's not possible to write UIs in Rust today. ;P
- chrismorgan 4y agoIt’s not entirely wrong. Rust GUI has been held up by a significant dose of trying to do things properly, since the language definitely pushes you in that direction. It’s taken so long because Rust insists on correctness and on an ownership model that the popular solutions for GUIs simply didn’t fit into, so it’s taken time to come up with things that do work in those constraints.
- brabel 4y agoWhy do you guys think it's taking a lot of time because people are "trying to do it properly"?? See the comments about people trying the egui demo... that thing is as easy to crash as any junior dev React application.
- Ygg2 4y agoBy doing it properly chrismorgan means a native Rust solution that works with borrow checker. Egui is mostly bindings. And those can suffer from impedance mismatch (e.g. using OOP UI in Rust)
- iudqnolq 4y agoCan you give an example of a real, shipped app where the majority of the GUI is written in Rust? I'm excluding games because they tend to have trivial GUIs. I'm excluding tauri because the majority of the GUI code in a tauri app isn't Rust. This is a serious question. I'd love be shown I'm missing something. I read this article hoping to find out that a serious rust GUI library was ready for real use and was quite disappointed.
- ogoffart 4y agoThe most complex I know about: https://github.com/gyroflow/gyroflow https://github.com/gyroflow/gyroflow
- foldr 4y agoThis appears to use Qt for the UI (I assume via Rust bindings).
- sbt567 4y agoThe author of egui created https://www.rerun.io/ https://www.rerun.io/ using... egui but the commercial version is still WIP.
- Klonoar 4y agoA number of apps in the GNOME ecosystem use the Rust GTK bindings (e.g, Fractal).