Last I evaluated it WinUI3 was a terrible developer experience. The application had to be literally installed on the system to even debug it, which means you end up with a large number of useless start menu entries, not to mention registry entries and such. Another thing was that the example programs crashed when I clicked on a button.

All I want is something simple to work with to make applications for Windows, and so far I'm still using Win32 with WTL.

> The application had to be literally installed on the system to even debug it

I think that's because you chose "packaged" application, these apps need to be installed so that capabilities are handled correctly.

To be fair, macOS has the same issue, although they won't show in Launchpad, they still can be indexed by Spotlight.

I want to be able to create self-contained GUI application that are relatively small and can be just copied and run on another computer. Installation should be an option, not a requirement. From my evaluation, WinUI3 doesn't offer that.

WinUI3 offers that, it's just not the recommended way of building+deploying.

What you are looking for is "unpackaged, framework-dependent". This will build an application like an old-school WinAPI executable, one which expects the relevant DLLs to be installed on the host system (or distributed in the same directory).

Size of hello world app that includes relevant DLLs is over 150 MB. Which is almost like including a web engine.

What I'm looking for is old-school AOT compiled executable where UI framework dependency is statically compiled and trimmed.

I know that these days a lot of game and application developers just render a custom UI to a 2d or 3d rendering device. I've been looking for a UI framework like that as I don't want to write my own, but so far most of them have been either web based or require their own mini-language and compilation step.

You mean just self-drawn controls or also immediate mode GUI?

I haven't tried it, but there's ImGui.NET (or a bit easier ImGui.Forms) immediate mode GUI. Downside is no accessibility.

Avalonia uses Skia to draw controls, although it primarily uses XAML to define UI.

The issue with self-drawn controls is that creating such framework is a lot of work, so smaller projects often have issues with things like accessibility.

EDIT: Just did hello world test with ImGui.Forms. Self-contained AOT compiled result was 7 MB.

Within game development it is predominantly immediate mode as it more closely resembles the main game loop. With other applications I'm not sure, some I know just use ImGui and run an immediate mode UI, others would be retained mode.

In my case I'm looking for a C++ UI library, not .Net. Also not a fan of immediate mode GUIs either, so would want something more traditional.

I don't want to write my own, so will probably try Qt again, but might switch to a custom library in time.

I did try to develop an unpackaged test application but I gave up trying to implement it and just went with Win32 instead as I wanted make something rather than messing around with a UI framework.

These days if I were to switch from Win32 I might try some custom rendered framework which a lot of apps seem to use, or Qt.