Mozilla, the open-source creators of Firefox and Thunderbird, have announced that their Servo project will reach public alpha in June. Nightly builds will be available, presumably around that time, for Linux, OSX, Windows, and Android. Servo is a browser engine that is built in Rust, which emphasizes security and high performance (especially in multi-threaded scenarios).
The technology is really interesting, although it is still quite early. Web browsers are massively single-threaded by design, which limits their potential performance as CPUs widen in core count but stagnate in per-thread performance. This is especially true in mobile, which is why Samsung has been collaborating on Servo for almost all of its life.
Rust, being so strict about memory access, also has the advantage of security and memory management. It is designed in such a way that it's easier for the compiler to know, at compile time, whether you will be trying to access data that is no longer available. The trade-off is that it's harder to program, because if your code isn't robust enough, the compiler just won't accept it. This is beneficial for web browsers, though, because basically everything they access is untrusted, third-party data. It's better to fight your compiler than to fight people trying to exploit your users.
Again, it's still a way off, though. It might be good for web developers to keep an eye on, though, in case any of their optimizations implement standards either correctly, but differently from other browsers and highlights a bug in your website, or incorrectly, which exposes a bug in Servo. Making a web browser is immensely difficult.
That isn’t the only
That isn’t the only interesting thing about this. Did you notice the Browser.HTML bit? The whole browser is basically the Servo engine and a web page. Which means you can literally change the way the browser looks by writing.
This should make every web dev capable to write extensions for this browser, and since it will only use the same stuff as in HTML, every dev has the same access that Mozilla does. This is going to be rather neat.
Yeah, I saw that. They said
Yeah, I saw that. They said it will use the Browser.html interface "by default." I'm not sure whether it will be the actual interface later down the line, though. It'd make sense, especially knowing Mozilla.
They are testing Browser.html
They are testing Browser.html to see if it lives up to their idea of its promise. From a dev standpoint, they are trying to reduce the number of code paths they need to optimize. sort of the Unix philosophy, of doing one thing and doing it well.
they are rendering web pages, and doing the best job they can. At the same time, when they make the web faster, they are automatically making their interface faster. It sounds like a win win, but time will tell. I wonder how hackable it will be in a distributed form.
Not to mention that they’ve
Not to mention that they've been trying to deprecate parts of XUL for a while.
I posted this elsewhere: I
I posted this elsewhere: I downloaded, compiled, and ran Servo a few weeks back. It was much faster than Firefox stable and Firefox Nightly but still crashes a lot and displays a lot of content incorrectly. So the June alpha will probably be closer to unusable than to beta.
But despite Mozilla’s mis-steps, I trust them to put end users first more than Microsoft, Google, or Apple. I really hope Servo conquers the world eventually.
Yeah. As I’ve said, making a
Yeah. As I've said, making a browser is ridiculously difficult and time consuming. I think the last one to launch without forking an earlier rendering engine was Presto? Was that even wholly original?