Wow, I'm not keeping up with all the new developments in the Linux desktop land, but that surely sounds like a step back.
So let's say I'm building an app like Blender or Reaper - I'm sidestepping the need for most of the OS-specific/native-widget components, because I already need to do a whole lot of very complex and custom rendering, and that is the saner choice when going for portability. But I would still like to maintain a certain level of basic OS integration, for example a native menu bar on macOS, matching the light/dark theme with the OS, or perhaps... a native file picker?
What are my choices on Linux? Link with Gtk, and make the app look out of place on KDE? Link with KDE, and pull in half of it with me when installed on Gnome? Link both? Summon Cthulhu?...
Sounds like we've had a solution for a moment, and now we want to remove it, because think of the yaks?
If you use Qt the framework does its best to make sure the native thing will be used where appropriate. QtCore, Gui and Widgets is like 15 megabytes total and that will already allow 90% of Qt apps to run. A bazillion packages being installed if you want to install one Qt app is just the fault of your distro's policies on how software should be distributed
Yeah, about that... fracturing at every possible level.
- Linux vs Free/Open/Net/Dragonfly BSD
- Linux distro 1 vs X vs A vs Ω vs ...
- glibc (with all its warts like versioned symbols) vs musl vs BSD libc
- systemd vs sysvinit vs rc vs OpenRC vs daemontools/s6/runit/...
- Who "owns" /etc/resolv.conf?
- apt vs (yum / dnf) vs pacman vs apk vs xbps vs emerge vs ...
- Flatpak vs Snap vs AppImage
- X11 (and libx11 vs xcb) vs Wayland (which protocols/extensions are supported?)
- OSS vs ALSA vs PulseAudio vs Pipewire vs sndiod vs ...
- Gtk (2/3/4) (with Gnome or without) vs Qt (with KDE or without) vs Tk vs direct X11 vs SDL/glfw/... vs an obscure toolkit last updated 15 years ago
inb4 it's about choice, the heck I'm supposed to choose as an app developer? inb4 "follow the standard", half of these are not standardised but still in widespread use? inb4 distro policies, which distro - top 10 on distrowatch looks like more work than macOS+Windows combined? Delegate to package maintainers, and my app is "fixed"/patched beyond me being able to debug/support? I choose what seems to work (for example, escaping via the XDG portal) and I'm getting rug-pulled?
As an app developer, I ship an appimage and a flatpak based on Qt and things generally work as expected. Supporting macOS which drops compatibility with random things every other version all while providing a super old Clang is in practice much more painful.
So let's say I'm building an app like Blender or Reaper - I'm sidestepping the need for most of the OS-specific/native-widget components, because I already need to do a whole lot of very complex and custom rendering, and that is the saner choice when going for portability. But I would still like to maintain a certain level of basic OS integration, for example a native menu bar on macOS, matching the light/dark theme with the OS, or perhaps... a native file picker?
What are my choices on Linux? Link with Gtk, and make the app look out of place on KDE? Link with KDE, and pull in half of it with me when installed on Gnome? Link both? Summon Cthulhu?...
Sounds like we've had a solution for a moment, and now we want to remove it, because think of the yaks?