Anything related to WinUI, WinAppSDK, CsWinRT, C++/WinRT is a sea of bugs, broken tooling, and unfulfilled promises, that no one should bother with.
Easily confirmed by going into their public repositories over at Github, or community session recordings over at YouTube.
For those using .NET, keep using Windows Forms or WPF, or reach out to Avalonia and Uno.
For those using C++, the aging MFC has much better tooling as incredible as it sounds, or use instead VCL/Firemonkey (C++ Builder), Qt, wxWidgets,....
For anything else, whatever bindings are available on top of plain Win32.
I'm developing windows desktop apps since nearly 30 years now and tried mostly everything Microsoft has thrown at us - Win32 - WinForms - WPF - WinJS - WinRT - UWP - WinUI - MAUI - not sure if that was all - and Win32 always wins. Everything else is incredible broken and stops being supported in such a short time. It's a shame really.
I switched from someone that was kind found of WinRT, as what .NET 1.0 should have been, AOT compiled languages built on top of COM, improving the VB 6 experience, to someone burned out with the experience, back into Web development and distributed systems.
However, Microsoft keeps talking as if everything was tiptop, and that angers me thus I keep track of how bad things still are, and spend time making others aware of the false promises.
For example, I bet no one is aware that C++/WinRT is actually in maintenance, and the team responsible for killing C++/CX, is now having fun with Rust on windows-rs.
Yet Microsoft talks about using C++ to develop WinUI applications, as if the tooling was at the same level as using C++ Builder or Qt/QtBuilder.
Programming Windows, by Charles Petzold
Programming Windows with MFC, by Jeff Prosise
COM / DCOM Primer Plus, by Chris Corry Vincent Mayfield John Cadman
The Web versions also consume C++ via WebAssembly, the mobile versions are a mix of the platform languages + C++.
There are some CppCon talks about how they use C++ in Office.
Plain Win32 needs a renaissance. I worked with it and felt like a wizard. Message boxes, dialogue boxes, wizards, hammered out in pure C++. Combined with the Windows Implementation Library[1] I was writing fast, modern code.
Here is the original announcement,
https://community.osr.com/t/the-new-wil-library-for-c-code-i...
I'm a big fan of the MFC/WinForms era stuff myself, but it has one crippling limitation: it doesn't handle display scaling very well at all.
There are Win32 APIs for HiDPI configuration, the issue is that it isn't automatic, it needs to be on the app manifest or called explicitly, and handle the events for resolution changes.
I'm not a traditional app dev on Windows though, so I'm likely missing something. For those of you who are more familiar, what about this are you excited about?
Couple of months ago I used some shady C# SDK to build an implementation that interfaces with a very specific hardware component. My only option was Windows Forms, which I don't love very much but I have worked with extensibility in the past.
I did not have a lot of faith, because of how weird it feels to ask an LLM to work with a design.cs file, but what I did was just sketch all the design and let Claude do the logic with certain specification on how I wanted to corral the code... App was flawless in about 2 days of work. It's in production now with zero faults.
So, hard to now give this a shot, I already got my go-to tool. Even for something has arcane and obscure as Winforms.
I wonder what would be cutoff age for readers to read it correctly, I guess under 30 read it correctly, and over 40 will many read it as Winamp
I am 17 and I wasn't wearing my glasses and I was really speaking winamp until I read your comment then scrolled back again to realize it was winapp
My bet is that I spend time on HN so I knew what winamp is in more detail but if say friends my age read it & say they use tiktok more, I would say that they wouldn't call it winamp but winapp
So I guess I might be one of the few exceptions but I feel like people on HN are much more likely to read it as winamp than not & age might not be thaaat big of an impact (atleast on HN)
(ex windows dev)