I don't get it. Functional UI changes should be different from visual fluff, yet Windows seems to the only OS where the two aren't separated.
I don't get it. Functional UI changes should be different from visual fluff, yet Windows seems to the only OS where the two aren't separated.
Of course there are limits. iirc Windows 7 RTM had an obviously 3.1 derived file picker make it into the add fonts dialog until it was replaced in SP1 if my memory has the timing right. Despite using win32 widgets which had the correct theming, that didn't look native at all
The newer stuff sits on top of DirectX.
The latest UI framework (XAML/WinUI) sits on top of a better rendering architecture (compositor) that itself wraps DirectX tech.
(TL;DR: the Windows UI mess looks to me like an organizational problem, not a technological problem. From the outside it looks like as the old guard is leaving, the new people coming in discard all the old code and instead prefer to start completely new projects, which of course is destined to fail, because the new people are repeating the same errors which had been identified and fixed decades ago).
So much code is required to do things we now take for granted that the resulting patterns became new frameworks.
Win32 is old and unviable because Microsoft hasn't bothered making comprehensive upgrades for it and never laid out a gap-free plan for how to move off it. They could have upgraded it more smoothly but never did.
WinUI/UWP still uses CreateWindowEx and good old WndProc for event loop message handling at the top level on Windows 10.
It gives you all the building blocks to implement it yourself.
Remember that Win32 is not UI framework but OS API which allow you to build yourself one (wxWidgets, QT, SWT).