Baela says hi

Hello Montevideo JS!

Last updated: 2018-08-31

Firefox Quantum

Firefox in the Quantum Era

István Szmozsánszky "Flaki"
@slsoftworks

[]()
Browsers

…a.k.a. What Do Browser Engines Do, Even?!

Flaki, tinkering

Mozilla DevRel

Developer Outreach / DevRel

Mozilla TechSpeakers

Mozilla TechSpeakers

Tessel

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.

The "Quantum" moniker covers a host of new technologies that make the new Firefox faster, safer, and in general better. Some of these technologies come from another Mozilla project, called "Servo".

Much Browser, such Rust: Servo

Servo is an experimental browser engine written in Rust by Mozilla.

Servo is mainly focusing on modern hardware, high-level parallelization and cutting edge rendering engine techniques - it allows Mozilla engineers to experiment without breaking your favorite browser every day! Servo is written from the ground-up in Rust, a fairly new systems-level programming language.

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

[]()
Browsers

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.

…it's also fairly hard to do so. This is where Rust comes into the picture…

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

tweet by @mike_conley

…by moving things off the main thread

It makes a difference!

tweet by @SaraSoueidan, image by Lin Clark

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)

Composited Layers vs Display Lists

…a not-too-distant fututre, actually!

tweet by @pcwalton

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

Mozilla Hacks @mozhacks

Flaki @slsoftworks

Reading list: