Hello Montevideo JS!
Last updated: 2018-08-31
Firefox in the Quantum Era
István Szmozsánszky "Flaki"
@slsoftworks
[]()
…a.k.a. What Do Browser Engines Do, Even?!

Developer Outreach / DevRel

Mozilla TechSpeakers

Tessel Project, JS+HW hacker
Emperor Fox's New Clothes: Firefox Quantum
Firefox Quantum is the collective name of Firefox's new browser engine
Engine? What engine?
A browser engine is what sits between webpages on the internet and the picture rendered for your eyes to see by a web browser…
Quantum: Servo, Rust; and everything nice…
The "Firefox Quantum" includes various improvements and parts of Mozilla's "Servo" engine.
Much Browser, such Rust: Servo
Servo is an experimental browser engine written in Rust by Mozilla.
Rust: Speed, Parallelism, Safety
Rust is a highly performant systems programming language focusing on speed, memory safety and easy parallelization
Servo isn't the only part of Firefox written in Rust
Check out Valentin Gosu's talk on "Oxidizing Firefox" (link at the end)
Rust 💖 Parallel Execution
One of the things Rust is very good at is parallelism and avoiding data races! tweet by @ticky
[]()
Servo: a browser engine - on steroids
Servo (and Rust) is very good at running things in parallel
Using all cores is useful!
Putting all cores helps performance, load times, battery usage, heat dissipation - so in general a very good practice.
Quantum 💖 Servo
Quantum 💖 Good Ideas™️
Image by Lin Clark - find the whole blogpost in the links section later!
The War On JANK
Making things FAAASSSSST
…by moving things off the main thread
It makes a difference!
What Does The Future Hold?
The future of Firefox's graphics backend: WebRender
Read Lin Clark's complete intro to WebRender (link in the end)
…a not-too-distant fututre, actually!
You can already try it!
…in Firefox Nightly now & in Firefox 63 later this fall!
For some hardware configurations WebRender will be enabled by default in the release version of Firefox 63 coming this fall!
Come to NodeConf Argentina in October!
I'm speaking & giving a workshop in October in Buenos Aires
Thanks!
talk.flak.is/quantum
@mozhacks
@slsoftworks
Reading list:
- But what is even a browser engine? by Potch
- Watch "How Firefox Quantum came to be?" - a talk by Jean-Yves Perrier
- Oxidizing Firefox: putting Rust code in Firefox, watch the talk by Valentin Gosu
- About the various Quantum technologies in Firefox, blogpost from Lin Clark
- What is Servo? Nathan Willis' impressions on Lars Bergstrom's LinuxConJP talk
- Off-main-thread painting deep dive from the Mozilla Gfx team
- Parallel parsing of CSS, Potch talks about Firefox 61
- Why throw away a perfectly good display list? Matt Woodrow on retained display lists in Firefox 61
- Is it a browser or an AAA game engine? Lin Clark explaining how WebRender works