Ask HN: What toolchains are people using for desktop app development in 2025?

95 lincoln20xx 96 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 (96)

mg · 23h 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.

Mars008 · 20h ago
What about FireFox, does/will it support file system access? I'm not an expert, just thinking this way and don't like Chromium. The idea is to use light web server in application + browser with JS. This makes it easier and more convenient as it can naturally run remote, on microprocessor. Also LLMs are good at generating such UIs.
rpdillon · 17h ago
This is how I develop all the software that I don't work on professionally. I have a variety of small web servers with various capabilities that I use. The latest is Copy Party, which I learned about from HN a couple of weeks ago. My apps are then single files that know how to write modified copies of themselves back to the server. The server is dumb, it doesn't really know that it's anything other than just a file upload. I then use SyncThing to replicate that folder structure across all my devices so I have offline access by default.
8organicbits · 19h ago
https://caniuse.com/native-filesystem-api

Looks like Firefox does not support it currently.

jazzypants · 17h ago
It's even worse than that. If you click on the resources section, you can see that Mozilla considers the proposal harmful[1]. They say there's a subset of features that they may consider. Safari seems to be in the same boat, but I can't find an official standards position.

[1] https://github.com/mozilla/standards-positions/issues/154

h4ch1 · 8h ago
I have been evaluating and testing the Filesystem API for a local first web based CAD editor and having direct r/w access to the filesystem is a great way to make such a thing, couple with the FilesystemObserver[1] API this makes building proper editors on the web a breeze.

In place of this, Firefox recommends using the origin private file system (OPFS)[2] which is basically a sandboxed filesystem that the users cannot access. Though I agree from a security perspective it kind of makes sense (not particularly for my usecase), but it removes the ability for the user to have realtime changes on local files.

An example of this is using the web based tool as an intermediary step or a processing step in a bigger pipeline; I save it using my web tool and then native applications automatically handle file updates. This just creates an extra step for Firefox/Safari to replicate changes locally by having to manually update local files.

Also neither Firefox nor Safari support showDirectoryPicker() which also creates blocks for building a web based editor.

I love Firefox and I hope they can add support for this. I have stopped caring about Safari/Webkit completely because it's hellish to try and maintain feature parity while NOT sacrificing innovation and ease of use.

[1] https://developer.mozilla.org/en-US/docs/Web/API/FileSystemO...

[2] https://developer.mozilla.org/en-US/docs/Web/API/File_System...

lyu07282 · 22h ago
+1 Another bonus is that it's properly sandboxed, you only give access to the files/directories and other resources it needs.
robertoandred · 22h ago
Except you lose native document UI features. Especially frustrating in Electron "apps".
ThinkBeat · 5h ago
Delphi is the easiest and most integrated way of writing cross platform UIs and it has been for a lot of years. It might not be sexy, but highly productive.

You can download and use a community edition of Delphi for free. The downside is insane licensing costs if you are making commercial software.

I an not sure how far Lazarus has come but I believe it to have the same or similar abilities and if free and libre.

jlarocco · 21h ago
At work we use C#, .Net, and WPF. I've only used it at this company, and I can't say for sure if my dislikes are with WPF, or how our codebase is using it. Overall it's not terrible, except for being proprietary and Windows only.

Outside of work, I'm out in left field using Common Lisp for most of my projects, so I'm not sure how helfpul this is, but...

In the past, I used Qt4 because there was an amazing Common Lisp binding and it worked well on Linux, FreeBSD and OSX. It's increasingly hard to use Qt4 any more, though, and changes in the Qt project made the technique used by the Qt4 bindings impractical for Qt5 or Qt6 - at least that was my understanding when I looked into it.

For newer things I've tried LTK but don't really like the looks of it and I wouldn't say it's "modern". It seems to work across platform well enough, though, and for simple stuff it's okay.

More often than not I'm using a combination of the Slime tools in Emacs in combination with an GLFW/OpenGL window. Often I'll use the inspector to display data and make changes that show up in an OpenGL window, or run some commands in the REPL and pop up an image in an external viewer or load something in a browser. It only works for certain types of applications, and I won't even pretend it's practical for end users, but it works pretty well, and it's flexible as a developer.

I'm curious to see what other people say. It's been a while since I madea full blown GUI application.

stassats · 18m ago
> changes in the Qt project made the technique used by the Qt4 bindings impractical for Qt5 or Qt6 - at least that was my understanding when I looked into it.

It was hard to do reasonably with qt4 already. The best solution would be to support the C++ ABI natively, but that's never going to happen.

MarkSweep · 17h ago
There are defiantly better and worse ways to use WPF. Personally I dislike it when data binding is done in XAML, because there is no compile time error if you rename a property on the C# side.

When I wrote a WPF app at my last job, I write a micro MVVM framework. Basically just an implement ion of INotifyPropertyChanged on the model side and some extension methods to bind the properties to UI elements. It was as strongly typed as possible in WPF.

vladdoster · 23h 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.
doawoo · 21h ago
We shipped a project at work with Flutter recently, specifically using it on embedded Linux, basically a touch screen smart apartment tablet/thermostat combo.

Internally the “UI” team is tiny (basically me, a UI/Designer and one or two other part time engineers) and the productivity is astounding tbh

written-beyond · 18h ago
Which embedder did you guys end up using, Toyota or flutter-elinux
doawoo · 15h ago
flutter-elinux -- By the Sony guys yea? We use that one!
written-beyond · 9h ago
Okay so we ended up using that too, it was really well done and documented.

But in hindsight I think flutter-pi or the Toyota one might have been a better investment. The lead engineer in Sony behind the elinux project left for Nvidia. The Toyota one uses Wayland, you can't make it directly hook into DRM. So you'd need a minimal compositor to get it running.

doawoo · 1h ago
Flutter Pi had other issues. It required systemd as a dependency just for the event loop which we ended up having to hack out. The Sony embedded project is still being updated and active. And the code quality is much better
wiradikusuma · 11h ago
does it support webview?
doawoo · 1h ago
Unknown, we don’t use web views at all in our app but I assume it’s possible with some work to get the plugin working
zaphirplane · 12h ago
I do have to wonder if decoupling dart from flutter would boost flutter. Flutter and typescript, dart is fine but you know most people have another major language with tooling and what not
x0x0 · 22h 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.
foresto · 19h ago
Topping my list of GUI toolkit requirements are cross-platform and native look & feel. As far as I know, Qt still beats everything else in these areas on the desktop. It's mostly excellent.

However, I find The Qt Group's commercial licensing (and their tactics as reported by various people on HN) a little scary. If I were to go commercial, I think I would stick with LGPL Qt and link dynamically or give customers my object files for re-linking, because I get the impression that accepting a commercial Qt license could restrict my ability to use open-source Qt elsewhere. I suppose there might be some other way to safely navigate those waters, but from what I've read, The Qt Group has a reputation for making this far from hassle-free. It's not an immediate problem because I currently use Qt only for open-source and personal tools.

I have grown tired of C++, so I've been using Python to drive Qt. The bindings are very good, mirroring the C++ API so closely that I just use the C++ docs when I need to look something up.

I've also been watching for Qt bindings to other compiled languages, mainly for distributing non-Linux GUI apps more simply than Python allows. Such bindings often turn out to expose only Qt Quick, which lacks functionality that I sometimes need, but there are a few that expose Qt Widgets. For example, these Go bindings:

https://github.com/mappu/miqt

I hope we'll eventually see a cross-platform GUI toolkit rivaling Qt in a language more pleasant than C++ (and ideally easier to bind to other languages). The one being developed for internal use by the Zed editor has some promising ideas about how to render native-looking text, which I think is a good start:

https://zed.dev/blog/videogame

https://www.gpui.rs/

rixed · 4h ago
I've been reading these threads litteraly for decades, hopping that someone would finally bring to light a better deal than Qt.

Will come back next year :-(

jenadine · 11h ago
Gpui is not on crates.io. This is a problem with Rust UI in general that they are not stable and often change API. The only exception here is Slint which seems stable in 1.x for some years.
pastorhudson · 16h ago
I’m hopeful that toga will be good for python dev cross platform including iOS and android. I haven’t tried it yet though. https://beeware.org/project/toga/
mikewarot · 23h 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.

dlachausse · 19h ago
I've found that you can mostly just use old Delphi books as a starting point for learning Lazarus.
cosmic_cheese · 20h ago
Still plain old Swift (or when the itch strikes, Objective-C) and AppKit. I don’t really build for platforms other than macOS because I haven’t found toolkits that feel right elsewhere. I would do just about anything for multiplatform AppKit.
1over137 · 14h ago
AppKit is indeed great. Pity Apple doesn’t give it much love anymore.
dazzawazza · 23h 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 · 22h ago
As someone who loved Turbo Pascal, for the past 3 years I use Lua and LÖVE.

https://akkartik.name/freewheeling

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

<3

akkartik · 22h ago
Wow, thank you! <3
pull_my_finger · 21h ago
Are you shipping apps bundled with LÖVE or just expecting users to obtain it and drag the files onto it? I know there are some scripts out there to produce stand-alone apps, but I wish it were more straight forward or that there were a 1st party tool that did it.
akkartik · 21h ago
Yeah, my install instructions are consistently:

1. Download LÖVE from its website.

2. Download my app (as Lua source code).

It's not going to lead to Instagram-level downloads, but that's not the aim. My goal is to teach people a little at a time to be thoughtful about whom they trust to run code on their devices. Forcing people to take 2 steps hopefully has 2 benefits:

1. You start from day 1 to take baby steps in being mindful of how software is put together for you to use. It's not just a single hermetically sealed box. This part comes from one supplier, this part from another. Both can be modified, and require different skills to modify.

2. You start from day 1 to take baby steps in thinking about whom to trust. Here there are 2 separate projects that would be very hard to collude together. That limits at least the level of malicious stuff I can do.

Summary: I don't want a bunch of people blindly trusting me. I want a few people choosing mindfully to trust me.

nevon · 6h ago
Last time I wrote any LÖVE games was probably more than 10 years ago, so perhaps this has been lost since then, but from what I recall creating a single executable of your game could be done by just concatenating a zip file of your game to end the of the LÖVE binary.
dlachausse · 19h ago
Have you looked at Free Pascal and Lazarus? It's an excellent open source and cross-platform implementation of Object Pascal and Delphi.

https://www.lazarus-ide.org/

Palomides · 23h 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.

LarMachinarum · 22h ago
Qt used to be what I used as well, but the licensing has become so repulsive for professional use that I now refuse to touch it now (not even for my open source side projects where this wouldn't be an issue).

Too bad the hopes from the early Nokia adoption days got smashed by MS mole Elop and the later owners of Qt.

nextos · 21h ago
Yeah, it's quite sad to see Qt on the N9 and, now, on SailfishOS.

We were robbed of a future with lightweight and responsive native apps. Android pales in comparison.

hermitcrab · 21h ago
I have a small business license which I use for developing 3 commercial application. It is ~$1000 per year and the licensing seems quite reasonable.
Palomides · 19h ago
why are you paying for a license? are there non-LGPL features you're using?
ranger_danger · 20h ago
We have no issues shipping both FOSS (LGPL) and proprietary solutions using Qt without having to pay any license fee... not sure what issues you're running into.
rramadass · 3h ago
> using Qt without having to pay any license fee...

Would you mind elaborating which Qt editions, linking etc. you use?

diego_moita · 22h 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.

cocoa19 · 19h ago
> Yes, I'd prefer Rust and Slint/Tauri.

Ah, you like masochism I see. I bet you use it for your personal projects, but not at all for commercial projects. It’s just not there yet.

Palomides · 22h 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!

Mars008 · 20h ago
You don't need powerful microprocessor for UI. Just some sort of connection. WiFi, network, file system. Then UI can run in browser on tablet, desktop...
rubymamis · 6h ago
I use Qt + QML (with C++) for my note-taking app[1] and my Ollama client[2] and it’s absolutely great.

[1] https://www.get-notes.com/

[2] https://www.get-vox.com/

bsoles · 23h 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 · 22h 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 · 22h ago
Control of the chrome around the browser page I guess.
leptons · 21h ago
Those problems aren't JS/HTML/CSS problems, they are bad programmer problems. If the performance of your webapp sucks, then you did something wrong somewhere, but it wasn't choosing JS/HTML/CSS that caused the problem. There are plenty of very performant web applications.
AaronAPU · 23h 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 · 22h 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)?

debrisapron · 16h ago
I’m using this too. You get all the JUCE stuff with a web frontend, and it uses the system web view so no huge Chromium binary. The downside is there’s no OS bindings out of the box, you have to provide everything via your native bridge.
dochtman · 23h 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.
woile · 22h 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

PhilippGille · 20h ago
For Go, I've been using Wails [1] and Fyne [2]. The former uses a web view for the UI, the latter is Go only.

[1] https://github.com/wailsapp/wails

[2] https://github.com/fyne-io/fyne

Philpax · 23h 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 · 22h ago
See Avalonia, cross-platform .net core.
rm7 · 13h ago
I currently use Windows Forms, but I plan to use the Godot game engine in the future. Designing the GUI feels quite similar to WinForms, and I can use C++ or C# (and a bunch of other languages).
pragmatic · 23h ago
Windows Forms are alive and well.

Still supported in latest .net versions.

dmitrybrant · 22h 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.
electroly · 19h ago
Same. Claude is good at it. Plenty of training material and the way we design Windows Forms apps hasn't changed in 20+ years.
leptons · 21h ago
I'm still using a few JScript.NET Windows forms applications I wrote over 10 years ago. Works great. jsc.exe is still on every Windows machine, and makes it easy to write Javascript and compile to .exe or even .dlls.
juped · 22h ago
Avalonia is my go-to on .net. It's not too far from WPF.
cryptoalex · 21h ago
Delphi was so ahead of its time (a mandatory remark)... I've used Delphi 1 to 4 then moved on to other things. Using .NET since 1.0 beta, and it still remains my favorite stack. The project I am currently building is a software infra for building E2EE applications, and it requires a little bit of everything - mobile apps for key management, desktop/cli apps/client libraries for actually encrypting data, sometimes a web based app, and a zero trust backend. Using Xamarin/MAUI for mobile apps, Blazor WASM for Web, Blazor Hybrid / MAUI / Avalonia UI for Desktop. All of the frameworks have their quirks, so it may take a bit of time to learn your patterns, build your base classes, but after that you pretty much enjoy the productivity of a modern high level language.

- What programming languages and frameworks are popular for desktop apps? - for me - Blazor Hybrid / MAUI / Avalonia UI / WinForms

- Are there any go-to IDEs, build tools, or libraries that make development easier? - I use MSVS 2022, VSCode for .NET, IntelliJ for $$$ at work. There are of course UI control libraries, I am using MudBlazor for Blazor WASM / Hybrid, other than that I use built-in controls that come with each framework. I try to use as little as possible of 3rd party libraries b/c my apps are security-sensitive.

- Do the above answers change if you care about code performance or efficiency (whatever that means to you)? - in my case no, I am able to find what I need in .NET ecosystem. Modern .NET supports ahead-of-time compilation compiling to native code, and that helps to reduce start-up time which is important for Desktop / CLI. Ironically, for a long running processes, like a web service, the just-in-time compilation sometimes produces code running faster than ahead-of-time compilation, b/c it learns most common execution paths at runtime, and is able to recompile on the fly, optimizing for most frequent execution paths, giving a non-trivial performance boost in some cases

- Is native desktop app development still viable as a career, or are most greenfield projects shifting to web-based alternatives - depends on the app/use case. For my project, desktop is the first class citizen, but I am building E2EE apps, i.e. end-to-end-encryption apps, aka client-side encryption, and native / Desktop / CLI is a better fit for E2EE in most of the cases compared to web apps. For those Web apps that I have it is still E2EE but in the browser (still client side encryption)

hermitcrab · 21h ago
>Delphi was so ahead of its time

Borland had an amazing knack of snatching defeat from the jaws of victory.

rramadass · 3h ago
Turbo C++/Borland C++ (with Object Windows library) was the best C++ IDE on MS-DOS in the early/mid 90's. All their tools were excellent. They were leading the industry in the usage of C++ on PCs and should have built upon that advantage; but then they lost it all to MS Visual C++ (with MFC library) when Windows came along.

It was one of the earliest and best textbook case of management screwing up a technical company.

anonymousd3vil · 22h 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.
sltr · 21h ago
On my projects [1][2], I use C# and Avalonia with Rider or Visual Studio. For extra performance, turn on AOT, which has the nice side-effect of making reversing your app to C# impossible.

I worked in WPF for a decade. I wouldn't go with it for a new project since it's Windows-only and doesn't support AOT.

At work we have a Blazor MAUI hybrid desktop app because it also has to run on the web. If we only needed a desktop app, I'd go with Avalonia.

[1] https://linklever.net/ [2] https://github.com/endurabyte/FitEdit

kcartlidge · 18h ago
- Some mentions of Lazarus and FreePascal (so basically a cross-platform open source Delphi equivalent). And I'd agree with them.

- For C# I like AOT assemblies using Uno or Avalonia.

- For Go I like TCell (which does cross-platform console mode text GUIs [with cursor positioning, colours, mouse, etc]).

- If you're doing vibe coding I find it tends to work best with Electron.

- The big omission here is anything Python; I don't do desktop apps in Python so can offer nothing. Same for Ruby, though Hotwire Native looks interesting.

gwbennett · 23h 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 · 22h ago
Is there a cross plaform desktop option for that?
vismit2000 · 9h ago
Quickshell was discussed earlier on HN today: https://news.ycombinator.com/item?id=44800048
_nhh · 21h ago
C#, dotnet core and Avalonia. Its awesome
burkesquires · 17h ago
I have used Xojo before and it is great. It is REALbasic rebranded and has been around for three decades. I used it years ago to write a LIMS interface (pre-Web 2.0). You can download the IDE and use it for free for Linux and Raspberry Pi projects. https://xojo.com
edtech_dev · 19h ago
gisborne · 23h ago
Flutter builds pretty decent desktop apps these days.
Numerlor · 18h ago
For my own uses I do Python with PySide6, most Qt features in a bit easier environment
osm3000 · 21h ago
Because I mainly work with python, I am using Kivy (https://kivy.org/).

Earlier I was HTMX, Jinja templates, Flask, Tailwind and little vanilla JS. It was too inelegant for my taste.

I am considering moving to either Swift, or JS/Svelete

alkonaut · 22h ago
.NET and whatever gui framework is appropriate (WPF, Avalonia, WinForms).

Rust + Egui for special cases like DAW plugins.

dev08979 · 23h 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.
eqvinox · 20h ago
Python & Gtk (& sometimes Glade)
globalnode · 19h ago
Interesting, I think this is a good choice too if you want cross platform and to avoid potential future geopolitical issues that may crop up given the way the world is going.
eqvinox · 19h ago
To be fair I haven't had reason to care about shipping for Windows yet (though I believe it's reasonably simple), only MacOS and Linux, and no mobile.
tretiy3 · 13h ago
Rust bindings for GTK4 on Linux are full-fledged
mariu52 · 22h ago
Rust for backend + Qt via cxx-qt bindings.

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

DougN7 · 17h ago
MFC all the way!
adamnemecek · 22h 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.
alok-g · 18h ago
Thanks, I wasn't aware of it.

What would you think are the pros and cons over various alternatives (like Flutter, Avalonia, Lazarus, etc.)

Thanks.

self_awareness · 23h ago
C++ and Qt.

Rust as a statically linked library where it makes sense.

diego_moita · 23h 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 · 22h ago
Zte the hack