Linux
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
What you discovered is that today's mediocre developers implement everything in web browsers, or web brower-like frameworks like Electron, and set them up to masquerade as normal applications, but with 100x the disk, RAM and CPU footprint.
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.
Well, I do get what he means...
I'm working with heavily themed Qt as a frontend in a rather large project.
Qt Creator (and QML) wasn't available at the start of the project and can't be used, as the code base isn't designed to run on just any machine and is linked to some RT threads.
Would be quite an effort to get the GUI working alone with mock interfaces and things.
So changing something, doing a recompile and see the layout scrambled is quite a downer.
In general I also hate the trend to electron & co "applications", but I still envy a friend of mine working with homepages, when he just needs to refresh the browser to see his changes.
Until I remember working on a homepage 20 years ago and the slight differences between browser were a major pain in the ass.
So, I guess, it's choose your poison...
I haven't really had the opportunity to look into modern C++ GUI Frameworks - and only slightly followed Qt changes, as most of them aren't relevant for the project.
Can anyone recommend something to look into?
Would be nice to have a good starting point, whenever I start something new.
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
looking at you Discord. hell also looking at you vesktop, equibop, whatever "better" discord client is out there. majority are just electron web apps.
I ran into a consequence of Fedora doing that. Their installer application crashes when running under an old GTX1060 with Nouveau's nShitia drivers in live USB mode.
My 2nd most hated trend in modern programming. (Behind AI forced into everything.)
Only if you use electron. There are lots of light(er) weight alternatives.
Soon you'll be able to press control + T in GNOME or KDE and open a new chromium tab. We're making it web browsers all the down
Cursed lol.
lmao, so even anaconda is a webapp now..
Here's what they say in that article about why they turned it into a web app, for those who don't want to look for it
Since we’d likely have to rewrite a lot of the frontend anyway, we took another approach [an approach different to keep using GTK] and have taken advantage of the modularization efforts to retool the frontend to have a web-based interface instead. The Cockpit team has been providing a web-based interface for Linux systems for managing systems for many years in the Cockpit web console, so it made sense to reuse Cockpit as a base and its web-based widget set, PatternFly, as a starting point for the next generation of Anaconda too.
By-the-way: We’re using Firefox to render the UI when you’re installing locally. (There’s no Chromium or Electron involved.)
Web-based benefits
While it’s not a native toolkit like GTK, using a web based UI does have several benefits:
- It’s easier to update and maintain versus a traditional desktop application
- We now use Cockpit’s testing frameworks to test Anaconda’s web UI
- It’s easier to adapt to future changes
- It enables more community contributions, as it “lowers the bar” for know-how, as there are many more developers familiar with web development than GTK development
- We can extend it to interactively install a remote machine using Anaconda from another computer’s Web browser in the future
Huh, I wonder if developing a web app is that much easier than developing a GTK app, or a Qt app... I mean, sure, there are way more web developers than people experienced with native development toolkits, but I wonder if it isn't a tooling problem from the part of the toolkits. I certainly don't have any experience in any of these, so I'd love to hear other people's thoughts.
Developing cross platform native apps sucks a lot no matter the tech stack. Compared to web technologies where the burden to follow the spec is the platform if they wanted to have interop with the web, the dev doesn't have to fight the platform.
Wtf!