Hacker News new | ask | show | jobs
by zubspace 2538 days ago
1) Regarding WebRender: Maybe I'm a bit out of the loop, but aren't they working on Servo? It seems, WebRender is a Gecko thing. I'm confused.

2) I'm also confused about the state of Gecko Embedding. As far as I know many are jumping to Chromium instead of Gecko. What's the plan there? Is Chromium better/easier to embed? Will I be able to embed Servo at some point?

4 comments

Servo is an experimental browser project to explore ideas/techniques: it's never been intended to be a replacement for/embedded into Firefox.

What was planned and is happening is that a lot of the exploratory work happening on Servo is being integrated into Firefox in parallel. WebRender is one example of this work: it's (effectively) a Servo component that is now in Firefox.

Another example of the above is Stylo/QuantumCSS, Servo's CSS component. This post on Stylo/QuantumCSS gives a good early insight into the overall project to bring these components to Firefox https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-en...

> many are jumping to Chromium instead of Gecko. What's the plan there? Is Chromium better/easier to embed? Will I be able to embed Servo at some point?

- Chromium is much easier to embed than Gecko

- Servo can be embedded now (and uses the same/a similar system to Chromium), but as mentioned above, Servo as a whole isn't stable.

- Making Gecko/Firefox easy to embed would be great, but at this stage I think this is largely a matter of focus, resources, priorities.

- On a related note, there is the GeckoView[0] which is a project to build an easily-embeddable Firefox for Android

[0] https://github.com/mozilla/geckoview

For 1) WebRender was developed for Servo and is being ported to Firefox as part of the Quantum effort (Firefox Rustification).
Is it being rewritten in non-Rust during the porting? Or is it left in Rust, with build system taking care to compile and link it properly?
It's being left in Rust, yes. Firefox already contains Rust components, such as Stylo.
Not embedding per se, but Chrome folks are working on integrating Firefox into the puppeteer project. https://github.com/GoogleChrome/puppeteer/tree/master/experi...