Mozilla’s mission is about advancing the Web as a platform for all. At Mozilla Research, we’re supporting this mission by experimenting with what’s next when it comes to the core technology powering the Web browser. We need to be prepared to take advantage of tomorrow’s faster, multi-core, heterogeneous computing architectures. That’s why we’ve recently begun collaborating with Samsung on an advanced technology Web browser engine called Servo.
Servo is an attempt to rebuild the Web browser from the ground up on modern hardware, rethinking old assumptions along the way. This means addressing the causes of security vulnerabilities while designing a platform that can fully utilize the performance of tomorrow’s massively parallel hardware to enable new and richer experiences on the Web. To those ends, Servo is written in Rust, a new, safe systems language developed by Mozilla along with a growing community of enthusiasts.
We are now pleased to announce with Samsung that together we are bringing both the Rust programming language and Servo, the experimental web browser engine, to Android and ARM. This is an exciting step in the evolution of both projects that will allow us to start deeper research with Servo on mobile. Samsung has already contributed an ARM backend to Rust and the build infrastructure necessary to cross-compile to Android, along with many other improvements. You can try this now by downloading the code from Github, but it’s just the beginning.
Rust, which today reached v0.6, has been in development for several years and is rapidly approaching stability. It is intended to fill many of the same niches that C++ has over the past decades, with efficient high-level, multi-paradigm abstractions, and offers precise control over hardware resources. But beyond that, it is *safe by default*, preventing entire classes of memory management errors that lead to crashes and security vulnerabilities. Rust also features lightweight concurrency primitives that make it easy for programmers to leverage the power of the many CPU cores available on current and future computing platforms.
In the coming year, we are racing to complete the first major revision of Rust – cleaning up, expanding and documenting the libraries, building out our tools to improve the user experience, and beefing up performance. At the same time, we will be putting more resources into Servo, trying to prove that we can build a fast web browser with pervasive parallelism, and in a safe, fun language. We, along with our friends at Samsung will be increasingly looking at opportunities on mobile platforms. Both of these efforts are still early stage projects and there’s a lot to do yet, so now is a good time to get involved.
To take a look at what we’re doing and contribute to the projects you can download and try the recently-released Rust 0.6 or check out the source for Rust and Servo on GitHub. Then come participate in the development process on the Rust (https://mail.mozilla.org/listinfo/rust-dev) and Servo (https://lists.mozilla.org/listinfo/dev-servo) mailing lists.
- Brendan Eich, CTO, Mozilla