← Back to context

Comment by pjmlp

15 days ago

Again, unless you have existing Windows 8/10 applications that were written against WinRT, UAP or UWP[0], that make use of WinUI 2.0, forget about touching anything related to WinUI 3.0 or WinAppSDK, stay away from the marketing.

Exception being the few APIs that have been introduced in Win32 that instead of COM, actually depend on WinRT like the new MIDI 2.0 or Windows ML.

Keep using Win32, MFC (yes it is in a better state than WinUI 3.0 with C++), WinForms, WPF, if using Microsoft only tooling.

Otherwise, Qt, VCL, Firemonkey, Avalonia, Uno, ImGUI,....

They were even forced to revamp WPF status at BUILD 2024, given how bad WinUI 3.0 was back then, and it isn't if it got any better, apparently it is in the process of being open sourced, to see if the community can take over the mess a $4 trillion valued company cannot fix.

Really, stay away from WinUI, unless you're a Microsoft employee on the Windows team without any other option.

[0] - Can explain by the nth time the differences, if one feels like it.

Just wanted to add a shoutout to WinJS for posterity, with which I built a Windows 8 app that I had published to the Windows Store for a brief period of time. Then they open-sourced the UI part of WinJS and decided it was just a web framework instead of an officially supported method for building Windows apps iirc, which was the end of my foray into the Windows store.

https://github.com/winjs/winjs

  • I was actually part of a team at Barnes & Noble.com which tried to use WinJS for a serious application. (We were previously using Chromium Embedded Framework, or our own hand-rolled WebKit integration, for the desktop e-reader.)

    It didn't go great. I gave a talk about it. https://youtu.be/HySQR0t_7CI?si=5sfKbb-7u-qqD65R . (Be gentle to my 2012 self's speaking skills.)

  • I have a WinJS book somewhere, from Microsoft Press.

    When it was announced at PDC, they only talked about WinJS and nothing else, the folks of .NET Rocks have a few shows where they mention they thought .NET was done, and they needed to refocus into something else.

    The show where they interview Miguel de Icaza they go into this.

  • If you want JS, isn’t react-native-windows an option?

    • It probably is now, but I don't think it was at the time. This was back in the early Windows 8 era, when apps were called "Metro" – 2012 to 2015 I think? I'm primarily a .NET dev by trade, but I wanted to try something different with WinJS so invested time in learning that.

    • WinJS was a bit different, where your app was genuinely just a bundle of JavaScript and a UWP host process dealt with the rendering. (No Electron-esque to deliver with your app) Made for some tiny, succinct apps.

      2 replies →

In that light, it is troubling that Friday’s blog post [0] announced “moving core Windows experiences to the WinUI3 framework” as a measure to improve the quality of said experiences.

[0] https://blogs.windows.com/windows-insider/2026/03/20/our-com...

  • As long as it only applies to Microsoft employees, maybe the pain using C++/WinRT will finally improve the Visual Studio tooling for the rest of us, but I doubt it.

    Thus better leave WinUI to the Windows team.

  • These steps are necessary stepping stones in getting the thing good, the question is, given Microsoft's tendency to abandon UI frameworks halfway, apart from the classical ones listed above, is if they will keep it focused until its gets as mature as those.

For non-Windows devs (from ChatGPT):

- Win32: The original Windows API (since the 90s). Still widely used.

- MFC: Old C++ wrapper around Win32. Ancient, but still maintained.

- WPF: .NET desktop UI framework (XAML-based). Still very relevant.

- WinForms: Simpler .NET UI toolkit. Old but stable.

- WinRT: A newer API layer meant to replace parts of Win32.

- UWP: Microsoft’s attempt at unified apps (desktop + tablet + phone).

- UAP: Basically early branding/terminology around UWP (rarely used now).

- WinUI 2: UI layer for UWP apps.

- WinUI 3: Meant to bring that UI system to desktop apps outside UWP.

- Windows App SDK: The “new unified” toolkit tying modern Windows APIs together.

  • Huh? Downvotes for providing explanations of the acronyms/tech...?

    • I didn't vote but I'll bite the bullet.

      1. Do not relay LLM output. If someone wanted, they would use it, ChatGPT is free. Post your own, human, meaty thoughts.

      2. The blog post explains all these technologies, one just need to read it further than the title. It might be a big ask here on HN, I know, but still.