This makes me sad. I get using electron for cross-platform stuff like VSCode or all the other examples (trying to do desktop apps with decent looking UIs that work across Linux/Windows/Mac is a nightmare) but the clock that only works on windows? WPF and/or WinUI ARE RIGHT FUCKING THERE WHAT THE HELL?!
I’ll admit I’ve never tried GTK. I’ve always assumed it was specific to linux and used to make apps that look a certain way (like they were made for gnome) vs allowing you to make UIs the way you want to. Maybe I should look into this more.
Qt I’d say is “industry standard” but I’ve never been able to figure it out (so definitely skill issue here). It’s just that every time I’ve tried it, it’s been confusing where you’re even supposed to start. Also the last time I tried it I was a bit lost because I assume that I’m supposed to use Qt 6 (?) but it requires me to create an account because there’s a whole community/enterprise pricing thing (fair enough, nobody’s entitled to OSS work, especially not billion/trillion dollar companies). I plan to look again but that’s where I’ve been stuck so far.
I hate shipping chromium for every single app and it’s easy to fuck up a react app but there’s something to be said about cutting through the BS, just building, and having it work the same everywhere. Webapps won’t perform as well as native but they will perform well enough that it’s fine assuming the product owners give a shit.
Still learning but this has been my sentiment so far.
Edit:
Been playing around with iced.rs a bit and it looks promising but I haven’t done anything past beginner stuff so no fully formed opinions yet.
I’ve always assumed [GTK] was specific to linux and used to make apps that look a certain way (like they were made for gnome) vs allowing you to make UIs the way you want to.
That definition more or less applies to Libadwaita, which is basically a fork of GTK4 but specifically for Gnome with lack of proper theming. However both of those Frameworks can be used on any desktop platform. It’s just not very common to be used outside of Linux.
There’s also Libadapta, a fork of Libadwaita that reintroduces theming capabilities. Both it and GTK4 can be themed with CSS, so you can very much make it look however you want. One example of something that’s GTK but absolutely doesn’t look like it would be KlipperScreen.
Also there was a big push for “web first” applications, thus there’s a lot of developers with that kind of knowledge. In college, I was instructed to instead of learning software optimizations, to learn how to outsource complicated computations to the cloud, where there will be always enough compute, so I can write my code “as clean as possible, without worrying about optimizations”.
Wha? That’s a dangerous mindset to teach. The last thing you want is to add network latency to every interaction or tether an app to the internet when it doesn’t really need it (but I guess big tech didn’t get the memo on that one).
But it was the beginning of the big data hype, so in exchange you got advertising data and anyone daring to object are probably criminals because “good citizens have nothing to hide”.
That explains so, so much. Not just why everything wants to connect somewhere, but also disasters like programs with >1000 npm package dependencies. Why learning the right way if you’ve always been told to go the easy way.
This makes me sad. I get using electron for cross-platform stuff like VSCode or all the other examples (trying to do desktop apps with decent looking UIs that work across Linux/Windows/Mac is a nightmare) but the clock that only works on windows? WPF and/or WinUI ARE RIGHT FUCKING THERE WHAT THE HELL?!
THEY’RE YOUR FUCKING PRODUCTS, MICROSOFT!!!
I’d argue that both Qt as well as GTK is right there for the taking… but those are not “industry-standard”.
Probably skill issue on my end tbh but here goes:
I’ll admit I’ve never tried GTK. I’ve always assumed it was specific to linux and used to make apps that look a certain way (like they were made for gnome) vs allowing you to make UIs the way you want to. Maybe I should look into this more.
Qt I’d say is “industry standard” but I’ve never been able to figure it out (so definitely skill issue here). It’s just that every time I’ve tried it, it’s been confusing where you’re even supposed to start. Also the last time I tried it I was a bit lost because I assume that I’m supposed to use Qt 6 (?) but it requires me to create an account because there’s a whole community/enterprise pricing thing (fair enough, nobody’s entitled to OSS work, especially not billion/trillion dollar companies). I plan to look again but that’s where I’ve been stuck so far.
I hate shipping chromium for every single app and it’s easy to fuck up a react app but there’s something to be said about cutting through the BS, just building, and having it work the same everywhere. Webapps won’t perform as well as native but they will perform well enough that it’s fine assuming the product owners give a shit.
Still learning but this has been my sentiment so far.
Edit:
Been playing around with iced.rs a bit and it looks promising but I haven’t done anything past beginner stuff so no fully formed opinions yet.
That definition more or less applies to Libadwaita, which is basically a fork of GTK4 but specifically for Gnome with lack of proper theming. However both of those Frameworks can be used on any desktop platform. It’s just not very common to be used outside of Linux.
There’s also Libadapta, a fork of Libadwaita that reintroduces theming capabilities. Both it and GTK4 can be themed with CSS, so you can very much make it look however you want. One example of something that’s GTK but absolutely doesn’t look like it would be KlipperScreen.
Also there was a big push for “web first” applications, thus there’s a lot of developers with that kind of knowledge. In college, I was instructed to instead of learning software optimizations, to learn how to outsource complicated computations to the cloud, where there will be always enough compute, so I can write my code “as clean as possible, without worrying about optimizations”.
Wha? That’s a dangerous mindset to teach. The last thing you want is to add network latency to every interaction or tether an app to the internet when it doesn’t really need it (but I guess big tech didn’t get the memo on that one).
But it was the beginning of the big data hype, so in exchange you got advertising data and anyone daring to object are probably criminals because “good citizens have nothing to hide”.
That explains so, so much. Not just why everything wants to connect somewhere, but also disasters like programs with >1000 npm package dependencies. Why learning the right way if you’ve always been told to go the easy way.