Great, now make it so one code base can produce a working GUI on all platforms. Use any tricks you want — COM style binary interfaces, linking against platform libs with common headers, protocols like X11 or Wayland, a common “high level” API that can be transpiled to platform specific code and then natively compiled.
The “one code base” is allowed to have platform ifdefs, doesn’t have to be magically perfect and handle all edge cases.
Because this is table stakes for Electron, cross platform libs, and game engines. Getting Apple, Google, and Microsoft (because honestly if the others can agree Linux will just follow) to agree on something anything would be a huge milestone but I’m sure they would all see it as erasing their moat.
The “one code base” is allowed to have platform ifdefs, doesn’t have to be magically perfect and handle all edge cases.
Because this is table stakes for Electron, cross platform libs, and game engines. Getting Apple, Google, and Microsoft (because honestly if the others can agree Linux will just follow) to agree on something anything would be a huge milestone but I’m sure they would all see it as erasing their moat.