| > Outside of Slack Slack has a standalone app? I've only ever used the web version. What more does it do? > Discord Likewise, I never even realized Discord had a non-browser implementation. > WhatsApp I never even realized that WhatsApp had a non-mobile implementation. > they definitely need native access to local APIs Which ones? > And now they are arguably failing to push it to themselves Er, the whole point of Mozilla is to champion standards-based web tech. They're rewriting their UI using CSS/HTML/JS because this is feasible today, whereas it wasn't in 2005. So I ask again, why would Mozilla want to retain XUL instead of making web technologies more powerful? |
But that's exactly how Electron and friends got popular: they allow for web-first development. Desktop support is a bonus for people who need it.
When Mozilla started working on XUL, the future of the web looked a lot like XML and fat clients. Applications would be built by desktop developers targeting the desktop in a way that would allow for the web to integrate in the background. They wanted to bring the web to the desktop, woo-hoo!
As it turns out, the opposite workflow won: applications are now built by web developers targeting the web, in a way that allows for desktops to come onboard where required. In this scenario, XUL is just too complicated for people who simply need "a web view with a couple of extra APIs". This is still "bringing the web to the desktop", the fundamental role of the runtime is exactly the same; but the paradigm is opposite to what Mozilla had envisioned.
> They're rewriting their UI using CSS/HTML/JS because this is feasible today
XULRunner/Gecko was already built on CSS and JS, but it lived in a desktop paradigm of pseudo-native widgets - because HTML interfaces were terrible back then. It wasn't even a performance issue, but rather that everything was a page refresh because nobody knew any better. AJAX had not been formalized, and XMLHttpRequest was used (guess what) to pull actual XML. HTML4 was considered a hack that was supposed to eventually go away. It wasn't a "this is not possible today" problem, but rather "why would anyone want that?". Already there were lots of arguments on whether JS was "good enough" for desktop development, whether CSS was too verbose, and so on...
> why would Mozilla want to retain XUL
XUL is battle-tested to a different level, having survived almost 20 years, and it's a better option for pure-desktop development than web views. If Mozilla had paid more attention to its evolution, rather than going on quixotic adventures like FFOS, maybe they could have competed with Electron-style apps. Alas, now it's probably too late.