
A weekend building native Linux apps with GTK4 and Libadwaita left me more impressed by the progress than the developer experience around it.
It’s better than it was 5–10 years ago. Better enough that I was genuinely surprised by how quickly you can scaffold something that already feels like a real app instead of a desktop science project.
The biggest obstacle right now isn’t that native Linux app development is bad. It’s that the path through it is still rough in ways that don’t need to be rough.
The docs can be inconsistent. Blueprint, for example, feels more focused on getting something to run than on teaching how to actually structure UIs with it. That’s fine for toy apps, less fine once you want to build something with a shape to it.
Then there’s the usual open source tax: not enough good, current examples. You can find some examples, sure, but too often you still end up figuring out which patterns are current, which ones are stale, and which tutorial quietly died two releases ago.
Declarative UI tooling also still feels like it’s waiting for its moment. Workbench is great, but incomplete. GNOME Builder clearly wants to be part of a nicer story here, but it still needs basics like better Blueprint previews and easier runtime environment setup if it wants to feel truly polished.
So my current take is pretty simple: native Linux app development has improved a lot, probably more than many people outside that ecosystem realize. But the surrounding developer experience still makes you work harder than necessary just to build confidence that you’re doing things properly, not just successfully.