67
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
this post was submitted on 11 Apr 2026
67 points (97.2% liked)
Linux
13225 readers
358 users here now
A community for everything relating to the GNU/Linux operating system (except the memes!)
Also, check out:
Original icon base courtesy of lewing@isc.tamu.edu and The GIMP
founded 2 years ago
MODERATORS
Let's be honest, it's the easiest. I've been trying to write UIs in pure rust and python recently and let me tell you, it's a drag.
Some frameworks don't even support writing your own components, some don't allow reusing parts of the UI, some don't even have proper layout engines you can modify, theming can be difficult, others dont have reactive values, most don't have a fast dev loop (make a change, see it, repeat), and so on. I've even tried using game engines like Godot and Bevy.
We like complaining about Electron, but let's be serious, as bad as it is, the other stuff is worse.
Writing stuff in a proper gui framework using the tools we've had for decades is not really that bad, it's just not what all the tutorials are for. CSS can be an absolute pig to get things just so, or was until quite recently.
CSS is terrible, no doubt about it, but the problem is exactly that: native GUI frameworks haven't changed in the way they work. Why else do you think electron became popular? Obviously there was reason for it
I think it became popular because you can deliver the same app to mobile and desktop platforms. And because js gave people a very easy intro to development on the web so tons of people know it.
I don't think it became popular because it was better at making an application on a single target. I've never made a webapp with the equivalent of GLADE or QtCreator so I don't know if it even exists - but those tools are very decent if you had a basic understanding of UI layout.
What RT interfaces do electron apps let you use ;)
I'm confused why Qt Creator wasn't available - is this project old enough to vote or was there some technical reason :P