Comment by timcobb
5 hours ago
Yeah, I was kind of surprised recently that there's no solid native way to build desktop apps on Linux! I was thinking I'd build something actually native with AI but then the options were QT or or gtk...
5 hours ago
Yeah, I was kind of surprised recently that there's no solid native way to build desktop apps on Linux! I was thinking I'd build something actually native with AI but then the options were QT or or gtk...
Qt is as solid as it gets. It's very, very high quality. Much higher quality than Microsoft's frameworks on Windows.
Well yes, I was surprised by the situation in Windows too! So my stack is now split like this
- Apple: SwiftUI/AppKit
- Android: Jetpack
- Windows + Linux: Avalonia (C#)
Avalonia seems good so far. I couldn't do Qt because I can't deal with that qBittorrent look. GTK is aesthetically pleasing for me, but it only runs on Linux. Avalonia lets me target both of these UI-toolkit-less platforms with something native-ish. Flutter is probably good too, but I am using uniffi-rs and that doesn't generate Dart bindings AFAIK.
Would love to hear other options.
Isn't Qt themeable? I also recall at one point they "emulated" native widget look and feel in their own renderer but I might be misremembering.
Indeed! I wrote my note-taking app with a block editor (like Notion) in Qt with QML for the UI and C++ for the logic and it's been an incredible experience![1]
[1] https://rubymamistvalove.com/block-editor
Very nice, thank you for sharing!
How would you know? It's impossible to have done a thorough analysis of all the Windows UI frameworks, five have been released since I started typing...
You don't care what were you trying to build but for a quick me alone Linux app I used Flutter. Honestly it's my go-to when I want to have a quick native app on any platform but dont want to bundle electron.
Flutter is solid choice, and Canonical seems to be putting weight behind it for Ubuntu as well. Canonical is also now the new lead maintainer of Flutter Desktop.
QT and GTK are as native (and solid, I guess) as it gets, since there's no "default" UI toolkit that's shipped along with the kernel, unlike e.g. Windows or macOS. Speaking of Windows, why do they even ship browser-UI apps as a part of the OS? Do they find native Windows UI development too hard or feature-limited even with LLM assistance?
Because Microsoft screwed up their native UI story. They are slowly starting to go native again with WinUI3, but Microsoft went through a rough period with UI frameworks, I mean how many do they have now all still "supported"? WinForms, WPF, MFC, WinUI, MAUI, etc.?
Well what does native mean? An XWindow? Native on gnome is different from native on kde or xfce or lxde…
I mean there is the no true linux argument, but covering the main stream desktops you basically have kde which is written with qt(so qt is native) or gnome which is written with gtk and both frameworks/DEs do implement other things besides "just" the gui, so you are native.