Mozilla and Samsung Collaborate on Next Generation Web Browser Engine


Recommended Posts

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...stinfo/rust-dev) and Servo (https://lists.mozill...tinfo/dev-servo) mailing lists.

- Brendan Eich, CTO, Mozilla

https://blog.mozilla.org/blog/2013/04/03/mozilla-and-samsung-collaborate-on-next-generation-web-browser-engine/

Link to comment
Share on other sites

a new programming language ? why ? rewritign the browser engine makes sense, to some degree, but then the whole term rewriting is a misnomer, nothing is ever written from scratch.

But as I recall there's already several of these "secure" programming languages about, but more importantly there are systems that let you use existing programing languages while the IDE and backend checks for bad coding practices and non-secure code.

I guess we'll have to wait and see if this actually does have any improvement on FF and if Servo is able to catch up to FF feature support wise.

Link to comment
Share on other sites

IIRC, the main basis for Servo was an engine that was inherently asynchronous and multithreaded, instead of having it bolted on (as with existing engines), and Rust was started as a hobby I think, but other developers started liking what it offered (Apparently things like threading is easy, variable ownership is easy, etc.) and started using it as the basis.

It's interesting, but personally I don't think it'll replace Gecko as the engine of choice for Mozilla. But foretelling the future has always been hard.

Link to comment
Share on other sites

I think the main problem is catching up. it's ery hard today to write a new engine from scratch, there's so much.

it's like an article, on the verge I think, about Adobe and photoshop, and how it has codes from way back in the early MacOS versions still in there and it's like a giant city. they can't rewrite it from "scratch" it's just way to much to code and write. making a new engine today, not only would you start out by supporting everything existing engines have takes 10+ years to do, but you also have to keep optimizing and add in all the new features that are coming.

So yeah, I see it as unlikely that it'll replace Gecko, unless it turns out REALLY good and manages to not only catch up but also keep up.

more curiosuly, why would the work with Samsung... they're hardly known for good software and coding...

Link to comment
Share on other sites

a new programming language ? why ?
Rust is a curly-brace, block-structured expression language. It visually resembles the C language family, but differs significantly in syntactic and semantic details. Its design is oriented toward concerns of ?programming in the large?, that is, of creating and maintaining boundaries ? both abstract and operational ? that preserve large-system integrity, availability and concurrency.

It supports a mixture of imperative procedural, concurrent actor, object-oriented and pure functional styles. Rust also supports generic programming and metaprogramming, in both static and dynamic styles.

OhMyGodWhatThe****

Link to comment
Share on other sites

I think the main problem is catching up. it's ery hard today to write a new engine from scratch, there's so much.

it's like an article, on the verge I think, about Adobe and photoshop, and how it has codes from way back in the early MacOS versions still in there and it's like a giant city. they can't rewrite it from "scratch" it's just way to much to code and write. making a new engine today, not only would you start out by supporting everything existing engines have takes 10+ years to do, but you also have to keep optimizing and add in all the new features that are coming.

So yeah, I see it as unlikely that it'll replace Gecko, unless it turns out REALLY good and manages to not only catch up but also keep up.

more curiosuly, why would the work with Samsung... they're hardly known for good software and coding...

I think Samsung is trying to move away from Google and Android and have something of "their own", similar to how they're supporting development of projects like Tizen or Wayland.

And yeah, we're at the point where nobody really wants to write an engine from scratch, Apple and Google couldn't, and even Opera has moved from maintaining their engine to using a shared codebase.

Link to comment
Share on other sites

I think Samsung is trying to move away from Google and Android and have something of "their own", similar to how they're supporting development of projects like Tizen or Wayland.

When I first read this I thought of Tizen.

Link to comment
Share on other sites

I just read the Rust language tutorial and this is the most interesting language I discovered since F#. They just nailed everything, from statements vs expressions to immutability to null references to implicit interfaces to type traits to resource management, it's all pretty much as good as you could hope a language to be.

Of course like all stand-alone languages it'll probably suffer from limited tooling and libraries, but perhaps we'll see a .NET implementation in the future. As a replacement to C++, my hopes aren't too high as D and Go were already supposed to do this and didn't really get anywhere, but you never know.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.