
Stylo shipping in Firefox Nightly - Leynos
https://www.reddit.com/r/firefox/comments/6p9t83/psa_you_can_try_out_stylo_in_firefox_nightly_now/
======
NiLSPACE
There is also a discussion on the Rust reddit about this:
[https://www.reddit.com/r/rust/comments/6p9s24/psa_you_can_tr...](https://www.reddit.com/r/rust/comments/6p9s24/psa_you_can_try_out_stylo_in_firefox_nightly_now/)

------
H4CK3RM4N
I really like this idea of switching over to servo bit by bit. It makes me
happy that there might be a real WebKit alternative again.

~~~
chairmanwow
I'm new to frontend in general and wondering if I could trouble you for some
context. Why is Firefox's CSS styling engine not already "in" the browser? To
me it seems like Stylo is just a parallelized replacement for the old system,
Servo. What am I missing here?

Also, why are you celebrating an alternative for WebKit? Isn't it already
supported by most major browsers?

~~~
tolien
> Why is Firefox's CSS styling engine not already "in" the browser?

It is, Firefox can do CSS and styles just now. Stylo is a replacement for
that.

> To me it seems like Stylo is just a parallelized replacement for the old
> system, Servo. What am I missing here?

Servo isn’t the old system. Servo is a research project to build a layout
engine (analogous to Gecko which Firefox currently uses) in Rust, of which
Stylo is a part.

> Also, why are you celebrating an alternative for WebKit? Isn't it already
> supported by most major browsers?

It sounds like you’re confused about what WebKit is. WebKit and its forks are
_used_ by a number of browsers (Chrome, Safari etc.).

EdgeHTML, Gecko and WebKit are, broadly speaking, competitors which attempt to
implement certain standards and frequently disagree about how to do so. It’s
important that there be alternatives to WebKit with significant market share
because otherwise how WebKit implements a feature becomes the de facto
reference implementation.

~~~
chairmanwow
Thanks to you (and all the other commenters) for the detailed answers! I
learned a lot!

------
wodenokoto
Pretty cool that changing layout engine doesn't require a restart!

~~~
NiLSPACE
It's not the entire layout engine that changes. They only switch to the CSS
Style system of Servo:
[https://www.reddit.com/r/rust/comments/6p9s24/psa_you_can_tr...](https://www.reddit.com/r/rust/comments/6p9s24/psa_you_can_try_out_stylo_in_firefox_nightly_now/dknyjpe/)

It's still pretty cool though :)

------
diegoperini
The proposed flag in about:config exists in Firefox Developer Edition too. I
tried to enable it, then loaded some pages. There seems to be no distinction
in visuals. Did it work seamlessly or is it currently NOP?

~~~
NiLSPACE
The flag exists in Firefox Developer Edition but it doesn't do anything yet.
You have to be on Nightly for it to have an actual effect:
[https://www.reddit.com/r/rust/comments/6p9s24/psa_you_can_tr...](https://www.reddit.com/r/rust/comments/6p9s24/psa_you_can_try_out_stylo_in_firefox_nightly_now/dko3ko1/)

------
k__
Very cool.

What parts of Servo are already in Firefox? What is missing? Is there a list
of what will get into Firefox over time?

~~~
NiLSPACE
There is a wiki page about Project Quantum:
[https://wiki.mozilla.org/Quantum](https://wiki.mozilla.org/Quantum)

Currently Quantum CSS (Stylo) and Quantum Render (Webrender) are both in
Firefox Nightly, but they are unstable and can cause really bad performance,
especially Quantum Render. They won't be done until at least Firefox 57 and
some most likely later.

Quantum Compositor is in Release already I believe. It's the out of process
compositor for Firefox.

Changes from Quantum Flow are continuing to be implemented into Nightly and
later on Beta.

I haven't ready much about the progress around Quantum DOM, and I have no idea
for which release it is targeted.

~~~
k__
Do I get this right.

Servo is the experimental browser (engine?)?

Quantum is the project that ports parts of Servo to Firefox over time?

~~~
sp332
Right. Servo is an engine that will be embeddable into apps that need to
render HTML, not just browsers.

~~~
k__
Ah, so like the omni-present webkit view?

~~~
sp332
Yeah, exactly. It doesn't include a JS engine so for now it uses SpiderMonkey,
but eventually you should be able to plug others in.

------
the8472
You can also try webrender, but it still has more issues than stylo in my
experience. It gobbles up a lot of gfx memory for starters, which can actually
slow things down if you don't have enough. But that's a known issue.

gfx.webrender.enabled = true (restart required)

~~~
hansjorg
According to the Reddit thread, enabling this will run both webrender and the
regular renderer for now, so it will be both slower and more memory intensive.

------
blauditore
I cannot find the flag in about:config - my version is "56.0a1 (2017-07-23)
(64-bit)", so it should be in there, no?

~~~
ronjouch
I have the flag in my about:config with build `56.0a1 (2017-07-25) (64-bit)`
under Linux. You're SO two days ago! Update your Nightly :)

~~~
blauditore
Hmm, I got it through `ppa:ubuntu-mozilla-daily/ppa` on Ubuntu, so this is
generally a couple days behind? Did you download it manually?

~~~
eridius
Looks like that disables Servo at build time. Someone on Reddit had the same
problem -
[https://www.reddit.com/r/firefox/comments/6p9t83/psa_you_can...](https://www.reddit.com/r/firefox/comments/6p9t83/psa_you_can_try_out_stylo_in_firefox_nightly_now/dknv93q/?context=4)

~~~
blauditore
Indeed, same issue. Thanks for the pointer.

------
Jayakumark
When will this be incorporated in Firefox Mainstream release ?

~~~
steveklabnik
The target, IIRC, is 57.

~~~
Jayakumark
Cool, and when will servo go mainstream ?

------
rajnathani
Does anyone have any links to benchmarks?

