Hacker News new | ask | show | jobs
by pcwalton 1627 days ago
As an engine, Chromium has overwhelming market share, so it decreases risk to build on top of it. Choosing an alternative browser engine increases risk.

Embeddability has little to do with it; Chromium (as opposed to WebKit) isn't actually that embeddable. Rather, market share is king. With a high market share, the community will step up with projects like Electron and Chromium Embedded Framework that add embeddability.

3 comments

> Embeddability has little to do with it; Chromium (as opposed to WebKit) isn't actually that embeddable.

No way. I remember the bad old days of XULRunner. In 2010, pre-Electron, it was literally easier to implement my own WebKit-based app from scratch in C++ than it was to follow the documentation and use XULRunner.

Firefox's embeddability was bad. Really bad.

And Chromium's embeddability is just as bad. Notice you're talking about WebKit, not Chromium. Chromium doesn't even have a XULRunner.
Chromium Embedded Framework is Chromium's XULRunner. It was much easier to use and maintain than XULRunner, which is why it's still maintained to this day, and XULRunner is in the trash.
CEF is a third-party project that isn't officially supported by Google, unlike XULRunner. Which gets back to my point about market share: when you're popular enough, then people will step in to provide embeddability (in this case, CEF) on top of your non-embeddable product (Chromium). You could easily imagine an alternate universe where Firefox was the #1 browser and someone stepped in to write a Gecko Embedded Framework. The reason why Chromium Embedded Framework exists and Gecko Embedded Framework doesn't is market share.
You have your cause and effect backwards. That market share was achieved in large part by ease of embedding. Google itself started the project on WebKit because it was easier to embed and manipulate than anything else, and were pretty careful to allow others to do the same one level higher up the stack (i.e. making it easy to build your own branded browser on top of Chromium).
It's never been easier to build a custom branded Chrome than to build a custom branded Firefox. Building a custom branded Firefox is very easy, which is why tons of people have done it.

Google achieved market share by taking the embeddable WebKit, wrapping it in a non-embeddable wrapper called Chromium, and eventually forking WebKit to Blink in large part to make it non-embeddable and more tightly coupled to Chromium.

Custom branding and embedding aren't the same thing though.
Correct. And Chromium, as shipped and supported by Google (not third-party projects like CEF), is no better than Firefox at embedding (and certainly wasn't when Chromium was taking off in market share). There is a reason why Chromium-based browsers are forks of Chromium, not embeddings of Chromium.
There is a parallel universe where Gecko was always more embeddable and approachable, and Google used it as the base for Chrome.
There is the Chromium Embedded Framework which makes it somewhat easy to embed Chromium: https://github.com/chromiumembedded/cef