Stop Building Closed Ecosystems
The native side of this has long been addressed by cross-platform toolkits including but not limited to: Qt, GTK, FLTK, WxWidgets (note: all FLOSS, at least optionally).<p>Alas, web development "decided" to completely reinvent the wheel for all this stuff, leading to a new generation of heading-to-native toolkits derived from browser-based technologies, such as Electron, React Native and Flutter.<p>Unless you believe there is any mechanism to force a single cross-platform GUI toolkit on all developers - a belief that would make you basically insane - the reality is there will always be N different options for cross-platform development, depending on (a) which platforms you intend to cover (b) your own development history (c) subjective preferences (d) specific functionality that may be limited to specific toolkits.<p>Does it matter if N is 10 instead of (say) 5 ? I don't know.<p>Does it matter if the N is segmented into "derived from 90s widget models" versus "derived from 2010's web models" ? I don't know.<p>Is there any chance of a single toolkit that covers native desktop environments (which continue to be important for creative apps, high performance apps, browsers etc.), native mobile and browser based apps? I don't know, but it seems ... unlikely.