Ask HN: What Toolchains Are People Using for Desktop App Development in 2025?

37 lincoln20xx 36 8/9/2025, 4:52:02 PM
I recently came across a comment [0] here that highlighted the challenges of building native desktop apps with LLMs. The commenter pointed out how scarce training resources have become—few blog posts, tutorials, or open-source projects exist compared to web or mobile development. They also noted that while desktop app development was a solid career path in the 90s, it's now seen as a dead end for most, outside of big players like Microsoft or Adobe.

This got me thinking: My own experience with desktop development dates back to the late 90s using Turbo Pascal 6 in Delphi, and I'm out of the loop on modern practices. With the evolving landscape, I'm curious about what tools and workflows developers are actually using today.

Some questions to spark discussion:

- What programming languages and frameworks are popular for desktop apps? - Are there any go-to IDEs, build tools, or libraries that make development easier? - Do the above answers change if you care about code performance or efficiency (whatever that means to you)? - Is native desktop app development still viable as a career, or are most greenfield projects shifting to web-based alternatives?

I'd love to hear from folks with recent experience—success stories, pitfalls, and recommendations would be great. Thanks in advance for sharing!

[0] https://news.ycombinator.com/item?id=44841291

Comments (36)

mg · 1h ago
Now that Chromium supports the File System Access API on desktop and mobile, I am building every software I need as HTML+JS+CSS.

Before that, handling files in the browser was cumbersome. You had to offer download and upload links for users to manage files. And handling whole directories was impossible.

But now web apps are like native software tools that you can use to edit and manage files on the file system.

And the bonus point is that what you build this way is fully functional on mobile too. Right away, without any changes. At least on Android.

robertoandred · 1m ago
Except you lose native document UI features. Especially frustrating in Electron "apps".
lyu07282 · 43m ago
+1 Another bonus is that it's properly sandboxed, you only give access to the files/directories and other resources it needs.
vladdoster · 59m ago
Flutter is a super compelling framework (https://flutter.dev/multi-platform/desktop), but I’d live in fear of it randomly being sent to the Google graveyard.
x0x0 · 26m ago
It had layoffs in 2024. And Google has emitted a bunch of words about their support for Flutter, but hasn't taken the most obvious step towards solidifying support: guarantee a minimal spend level on Flutter dev for a decade, either internally or by donating to an external foundation. eg we will spend $x on Flutter until 2036. :shrug: So they've carefully retained the option to cut support at will. Which is their choice, but I recently wasn't comfortable starting a greenfield project in it for that reason.
anonymousd3vil · 10m ago
I'm personally aware and used few Desktop app building frameworks like Flutter, Tauri, Electron. I think you might have some luck with Electron support for LLMs since its early development and resources available. But I personally like to use Tauri recently, its backend is Rust but you can plug it in with any JS, CSS framework and develop your application.
Palomides · 1h ago
Qt with QML for a somewhat embedded use case. I think it hits a really nice intersection of native speed, GPU acceleration, interfacing with C++, and ease of development.

I wouldn't really recommend a career out of it.

diego_moita · 50m ago
> I wouldn't really recommend a career out of it.

Care to say why? I ask because that's what I use at work: C++ and Qt

Yes, I'd prefer Rust and Slint/Tauri.

But like a prostitute I don't do what I love, I do what pays the bills.

Palomides · 48m ago
I think it's a little too niche, and as embedded processors get more and more powerful, we'll just see the same trend of doing all UI in a browser instead

I do like working in it, though!

dazzawazza · 1h ago
Within game development it's Dear ImGui. https://github.com/ocornut/imgui

Normally with the Windows DX12 backend, sometimes with the SDL+OpenGL backend if you want cross platform support.

Other frameworks are sort of disappearing. C++ all the way although some use it with C#.

akkartik · 51m ago
As someone who loved Turbo Pascal, for the past 3 years I use Lua and LÖVE.

https://akkartik.name/freewheeling

strickinato · 6m ago
Just chiming in to say that akkartik is doing really interesting stuff and it’s worth diving deep on this site.

<3

akkartik · 2m ago
Wow, thank you! <3
woile · 26m ago
Slint-ui with rust (they have bindings for cpp, Python and js).

Quite good, I've been building this Pomodoro:

https://github.com/reciperium/temporis/

I've also used nix to build the packages when possible.

One of the things I like about slint is that it has native components. They also have experimental support for Android and iOS.

The language is quite simple as well. Though it could benefit from something like flex

bsoles · 1h ago
To my dismay, my company uses JavaScript, HTML, CSS with a custom Chromium-based web browser installed on your PC. The performance is shit: GUI performance that should take milliseconds takes seconds to render with constant pinging of corporate servers and user activity logging. Development mostly done in IntelliJ or VS Code.
yjftsjthsd-h · 46m ago
At that point, what's the point in maintaining your own browser fork instead of just telling users to point their own (Blink, even) browser at localhost?
bsoles · 39m ago
Control of the chrome around the browser page I guess.
AaronAPU · 1h ago
I’m using JUCE C++ which is very popular for audio software. But it can be used for more general purpose applications. The latest version has some kind of HTML based UI system but I’ve not migrated yet.
joefourier · 14m ago
I’ve tried it in the latest plug-in I’ve worked on - it’s just a webview embedded in the window. It’s really great for faster development of more complex plug-ins but there’s some downsides when it comes to performance and integration with the DAW (I had to do some nasty hacks to get handle mouse clicks and keypresses properly).

I think it would be possible to have those advantages in JUCE/C++ without a webview tho. Maybe just moving to a declarative UI approach for positioning and styles with the ability to refresh (something like litehtml could be handy for that)?

Philpax · 59m ago
Rust + egui, but it's a far cry from the convenience or iteration speed of the web. Wherever possible, I build webapps instead, just because it's so much faster to get results (especially with LLMs!)

With that being said, I'd like to try the modern .NET stack sometime. Shame that the UI side of things is still largely Windows-only, and even Microsoft themselves don't know which UI framework they're using this week.

exceptione · 16m ago
See Avalonia, cross-platform .net core.
alkonaut · 20m ago
.NET and whatever gui framework is appropriate (WPF, Avalonia, WinForms).

Rust + Egui for special cases like DAW plugins.

pragmatic · 1h ago
Windows Forms are alive and well.

Still supported in latest .net versions.

dmitrybrant · 7m ago
A hearty +1 to using WinForms (as long as your desktop app targets Windows only, of course). The fact that WinForms has outlasted so many other UI toolkits is a testament to its simplicity and ease of use. I still use it in numerous personal projects, and I don't foresee Microsoft dropping support for it anytime in the near future.
juped · 40m ago
Avalonia is my go-to on .net. It's not too far from WPF.
dochtman · 1h ago
Tauri seems interesting. It combines a Rust core with the platform-native browser engine for presentation. Of course a potential downside is rendering incompatibilities between engines/platforms.
gisborne · 1h ago
Flutter builds pretty decent desktop apps these days.
gwbennett · 58m ago
For both iOS and Android app: - Xcode - SwiftUI - Supabase - Claude CLI - Skip.tools (converts SwiftUI to native Katlin code)

Been developing mobile apps for over 15 years. This is by far the best stack for developing mobile apps. Speed, total control, native UI's. Love it.

tra3 · 41m ago
Is there a cross plaform desktop option for that?
mikewarot · 1h ago
Lazarus is the open source equivalent to Delphi these days, and for the most part it's awesome. (The documentation, on the other hand... just isn't fit for purpose)

I've been using Visual Studio Code and Github Copilot together, and it seems to work ok. I've not used it heavily, though, as I'm retired.

mariu52 · 48m ago
Rust for backend + Qt via cxx-qt bindings.

Would consider flutter for smaller apps as I had a great experience before.

dev08979 · 1h ago
I support Java software using a Swing GUI. It's fairly performant, but requires a fair bit of boilerplate for setting up the GUI and can take longer than typical web development.
self_awareness · 1h ago
C++ and Qt.

Rust as a statically linked library where it makes sense.

diego_moita · 1h ago
For Windows only (because that's the most common platform in the world): C# and .Net. The UI is mostly either WPF or WindowsForms.

For Mac only: new apps use Swift, legacy ones use Objective-C, both with AppKit.

Linux only: these are quite rare and there is a broad mix of them: C++, Java, etc.

Cross-platform: C++ with Qt seems to be the standard. Go and Rust seem to be rising. Rising UI libraries are Tauri, Slint and Iced. There are other alternatives like cross-platform .Net, Java or Flutter. But they don't look very solid and widely adopted.

Then there are other UI frameworks for some specific use cases (games, scientific applications, etc).

mahadali · 27m ago
Zte the hack
adamnemecek · 55m ago
I have been recently playing with Dioxus and I kinda like it. I too am dismayed that we are using browser to target desktop but here we are I guess.