Hacker News new | ask | show | jobs
by roca 2235 days ago
Supporting embedding well is a lot of work, both to create the APIs and then deal with their constraints as the browser evolves. Mozilla has always been under-resourced compared to the competition (IE, then Chrome) and taking people off improving Firefox/Gecko to work on embedding never made the cut. I don't really regret those decisions.

What made it extra unappealing for Mozilla was that we knew the Firefox/Gecko architecture needed lots of work that would destabilize an embedding API. Not much point in supporting an API that assumes single-process while you're moving to multi-process, or that exposes XUL which you know is a dead end, or that isn't compatible with off-main-thread rendering or GPU rendering, etc. Things are much better now that a lot of that debt has been paid off.

3 comments

There's nothing stopping a 3rd party from making an Gecko version of Firefox. Electron is not run by Google nor the Chromium team. It's run by github (which only recently became Microsoft)

That said, I'm not sure what the point is. I believe (but could be wrong) that Chromium has more features that Gecko doesn't? So if you're choosing one over the other I'm only guessing most people would choose Electron

"Electron for Gecko" was in fact done. See Positron discussion below.
I don't have any direct insight into why the Atom people chose Chromium but I can see a few reasons that are more likely than "features":

-- Chromium was faster. (For Electron apps you don't really care about Web compat, where Firefox was ahead of Chromium for a while, but you do care about performance.)

-- Chromium was already multiprocess and had some other architectural advantages where Gecko was still catching up. So, less upcoming architectural churn.

-- Chromium had Google's resources committed to it. (Google's shine has worn off a bit since then but it's still a powerful effect.)

Yep, and even now, the Fission (site isolation) work is still causing a ton of architectural churn everywhere.
> Mozilla has always been under-resourced compared to the competition (IE, then Chrome) and taking people off improving Firefox/Gecko to work on embedding never made the cut.

Yeah, sure, imitating your competition is the right way to handle that. /s

References:

1. https://www.dedoimedo.com/computers/firefox-addons-future.ht...

2. https://www.dedoimedo.com/computers/firefox-disable-australi...

3. https://www.dedoimedo.com/computers/firefox-29-sucks.html

4. https://www.dedoimedo.com/computers/firefox-suckfest.html

Moving away from the unsustainable XUL extensions model ("no stable API boundary, just feel free to poke the internals of Firefox any way you like") was another piece of architectural churn that had to happen.