I find it kind of ironic that Mozilla rewrote Netscape Navigator from scratch with the lofty idea of creating an entire cross-platform application development platform, not just a browser. XUL, XULRunner etc. But it never caught on and they abandoned all that to focus on just the browser. Yet now Electron is everywhere...
Before its time and abandoned in the nick of it. And no one cares about native GUI's anymore apparently.
I remember XUL. Not a fan but it's sad it didn't take off. We need an Electron alternative.
The idea was essentially the same, except instead of HTML + JS it was XUL + JS. And XUL provided a far richer set of built in controls, and was far more powerful and flexible than HTML, especially at the time it was conceived and still arguably today. Critically it tried to render all the standard GUI elements we were accustomed to in the 90s and early 00s using the native APIs of whatever OS it was running on.
Webdevs have tried for 20 years to recreate these interfaces from scratch in HTML with still highly questionable results, and of course no real integration, visual or otherwise, with the host OS.
For me, the biggest impediment for writing XUL, when I was into FF extension development, was the extremely lackluster documentation. Despite Mozilla's ambitions they never seemed to promote the app development part of their platform much. It also suffered from much the same problems as Electron does today with performance and bloated memory usage compared to native apps. Though I imagine if they stuck with it, with the much improved JS and rendering engines (and multicore CPUs and 16gb standard RAM) in-use today, it would have become just as good enough as Electron is considered.
Fact is, HTML/CSS/JS benefits hugely from it's own inertia, and the near instant answers to most any question on Google/Stackoverflow. Hard to compete when you are basically an internal Mozilla project.
I'm sure Mozilla, or someone, could package the current Firefox stack in a similar way to Electron as an alternative, but it would be largely the same thing and have similar issues compared to native. So why bother I guess.
How's wxWidgets doing? Does anyone still use that?
We actually had a prototype of an Electron-style embedding solution for Gecko called Positron, but I believe work on it was stopped.