News for hackers. Stuff that matters.
Re:Stop Building Closed Ecosystems by PaulDavisThe1st on Saturday April 15, 2023 @02:01PM (#35582954)
My definition works like this:

is there an API layer on which (a) everything else is based and (b) people sometimes use directly for app development?

  macOS: Cocoa/Quartz - yes and yes

  windows: win32 - yes and yes

  linux: X Window - yes, no (though of course Wayland is changing the "yes" a bit)
       GTK, Qt, WxWidgets, FLTK etc - no, yes
Re:Stop Building Closed Ecosystems by Macha on Saturday April 15, 2023 @02:19PM (#35583138)
But that's my point, WPF (the Vista-7 era primary toolkit), is not based on Win32. Neither is WinUI (the 8-11 era primary toolkit) calling Win32 or WPF.

Win32 is mostly used for legacy apps, you'll find some random usages still like pre-Win11 notepad or the services configuration menu.

WPF is the primary UI framework of Windows Vista/7 and still the framework which the majority of the OS is in for Windows 8/8.1. It doesn't call Win32, it implements its own widgets, something that would most often be exposed in differences in high-dpi support. These do generally try to align with the Win32 widgets from that Windows version visually, but there's plenty of discrepencies.

WinUI is the new framework which isn't even shipped with the OS as of the latest versions, but even if you're using the built in verison it's not calling Win32 widgets or WPF widgets, it's once again implemented a new set. The lower level APIs share some similarities with WPF as it basically started as a fork of WPF modified to implement Windows 8 UI patterns, but neither WinUI or WPF are implemented in terms of the other.

Re:Stop Building Closed Ecosystems by PaulDavisThe1st on Saturday April 15, 2023 @03:05PM (#35583576)
Thank you for a brief update on the situation on Windows. I didn't know all that, and now I know a bit of it.