this post was submitted on 14 Apr 2025
40 points (90.0% liked)

Rust

6846 readers
64 users here now

Welcome to the Rust community! This is a place to discuss about the Rust programming language.

Wormhole

[email protected]

Credits

  • The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)

founded 2 years ago
MODERATORS
top 26 comments
sorted by: hot top controversial new old
[–] FizzyOrange 7 points 1 week ago

I feel like the best option at the moment is egui. It's native. Works on the web too. Very easy to get up and running. The things I don't like about it:

  • I personally think the default style could do with improvement. Mainly it's way too cramped. There's a happy middle ground between no padding and bootstrap. I mean Win32/Qt/etc. got this basically right.
  • Immediate mode. Yeah it's easier, especially with Rust, but ... it's surely not how it's supposed to work.
  • The low level drawing API (like if you're making custom widgets) is surprisingly amateur. Not something I'd want to target if I'm spending a lot of time e.g. writing a custom map widget or git graph or something.

I also tried Slint. Like the author I think the license is pretty reasonable. But it is pretty involved to set up a project and since it compiles everything from source it can take a very long time for a clean build of hello world. It's like if you were using Qt but instead of a binary package the sources are just included in your app.

Also I have bad experiences from QML (Javascript 🤮, weird scoping rules, etc.) but hopefully they learnt from their experience.

Looking forward to the 2030 edition anyway!

[–] [email protected] 5 points 1 week ago (1 children)

Interesting read though it's mostly a comparison on how well windows accessibility tools work on each gui framework.

[–] spartanatreyu 2 points 1 week ago (1 children)

Good.

Too many libraries/frameworks/products don't factor in accessibility from the start.

Along the same vein, too many open source projects don't factor in non-"gnu/linux" environments from the start.

It's a lot harder to tack on after the fact rather than just having it be a part of the base design from the beginning.

Making these front and centre in a survey should be a be a bit of a wakeup for people who don't consider what doesn't run on their machines.

[–] BB_C 6 points 1 week ago (1 children)

Along the same vein, too many open source projects don’t factor in non-“gnu/linux” environments from the start.

No one is entitled to anything from open-source projects.

I spent time making sure one of my public tools was cross platform once. This was pre-Rust (a C project), and before CI runners were commonly available.

I did manage it with relative ease, but Mac/mac (what is it now?) without hardware or VMware wasn't fun (or even supported/allowed). Windows was a space hog and it's a shit non-POSIX OS created by shits anyway, and Cygwin/MSYS wouldn't have cut it for multiple reasons including performance. The three major BSDs, however, were very easy (I had prior experience with FreeBSD, but it would have been easy in any case).

People seem to have forgotten that doing open-source was supposed to be fun first and for most. Or rather, the new generation seems to never have gotten that memo.

POSIX is usually where a good balance between fun and public service is struck. Whether Mac/mac is included depends on the project, AND the developers involved. With CLI tools, supporting Mac/mac is often easy, especially nowadays with CI runners. With GUIs, it's more complicated/situational.

Windows support should always be seen as charity, not an obligation, for all projects where it's not the primary target platform.

[–] spartanatreyu 0 points 1 week ago (1 children)

No one is entitled to anything from open-source projects.

I never said anything contrary to this.

but Mac/mac (what is it now?) without hardware or VMware wasn’t fun

Letting MacOS users support MacOS hardware is generally easy when you already have BSD and/or busybox support already.

Windows support should always be seen as charity, not an obligation, for all [open source] projects where it’s not the primary target platform.

Ordinarily I'd agree, except these are GUI Libraries.

The whole point of them is to be a generic interface that prevents you from needing to use the platform specific APIs directly.

If GUI libraries aren't going to target the most widely used platforms, then why wouldn't the developer just use the platform specific APIs directly?

[–] [email protected] 2 points 1 week ago

In reality Windows isn't the most widely used platform, not where it counts, among the developers of those libraries. And finding competent Windows developers to contribute also isn't easy while finding Windows users demanding support is quite easy since the factor of developers per user is so much worse on that platform.

[–] [email protected] 1 points 1 week ago

I really hope iced.rs gets better on accessibility, because i really enjoyed trying it :)

[–] [email protected] 1 points 1 week ago

Excellent post, i already use Dioxus and is very interested to know future work on Freya.