Microsoft is already putting effort into dumping legacy Win32 and WebView2 code across Windows 11 in favor of WinUI, and also admitted native apps still use more RAM than they should.
I still like Windows and owe much of my long career to it. When I started writing Windows applications I was using C and the Windows API — most folks call it Win32 API but when I started on Windows 3.1 it was 16-bit. It’s not a bad procedural API. It’s pretty feature rich and works the way you’d expect. We had a little GUI tool for building dialogs and the like that allowed you to make pixel perfect UIs and the API would load it from resources using an ID you defined. You had to write all the code to hook it up and answer messages to it. It was very straight forward.
In 1995 I wrote a C++ wrapper around Window and Dialog creation along with other helpers, like a String class, and started using that for writing apps. It used a dynamic map for defining message handlers as methods on your derived class and, in my opinion, was tiny and really easy to use.
The archived code — called ACLLib — is on GitHub.
I know nothing about WinUI 3 but once I read that Rudy Huyn at Microsoft was committing to forming a team to do native apps I wanted to get a job there again.
Working on making the Windows UI consistent, use less RAM, and use updated native frameworks sounds like a very rewarding job. Difficult, but rewarding.
If you’re familiar with Win32 you can see how Microsoft switched the native Windows Calculator app to WinUI 3 on GitHub because they open sourced it.
There’s plenty of straight old C code in there written who knows how many years ago but the UI was fully updated. A very nice way to do it.
Remember, old working code isn’t your enemy. updating the UI made complete sense but leaving that working C code alone was smart. ❤️