Blog

Servo – Mozilla experimentiert mit neuer Engine für Firefox

Verfasst von: Sören Hentzschel

Servo – Mozilla experimentiert mit neuer Engine für Firefox

Mozilla arbeitet an einer neuen Engine. Servo heißt sie und könnte vielleicht eines Tages Gecko beerben. Noch handelt es sich dabei aber um ein Forschungsprojekt.

Firefox wird von einer mächtigen Engine namens Gecko angetrieben. Während Mozilla viel Arbeit in die Weiterentwicklung und Verbesserung dieser investiert, experimentiert man gleichzeitig mit einer neuen Engine: Servo. Wichtig ist an dieser Stelle die Klarstellung, dass zum derzeitigen Zeitpunkt nicht sicher ist, ob Servo irgendwann einmal die Nachfolge von Gecko antreten wird. Das Potential soll mit diesem Projekt erforscht werden.

https://twitter.com/paulrouget/status/218121385975873536

Nicht in C++, sondern in Rust geschrieben

Servo wird nicht etwa in C++, sondern in Mozillas eigener Sprache, Rust, entwickelt. Einer der Vorteile von Rust ist, dass es für die Unterstützung mehrerer Prozessorkerne prädestiniert ist. Wo möglich, nutzt Mozilla derzeit bereits existierende C- bzw. C++-Bibliotheken. Aufgrund der Kompatibilität von Rust zu C und C++ ist dies kein Problem. Zu einem späteren Zeitpunkt könnten diese in Rust-Code umgeschrieben werden. Bei den verwendeten Bibliotheken handelt es sich um HarfBuzz für die Darstellung von Text, Mozillas Azure als 2D-Backend, SDL beziehungsweise GLUT als Abstraktions-Layer für das native Fenstersystem, stb_image für das Dekodieren von Bildern, Mozillas JavaScript-Engine Spidermonkey sowie libuv für die Netzwerkkommunikation.

Eine modulare und skalierbare Engine

Ähnlich wie bei Webkit sollen Git-Submodule verwendet werden, um Servo so modular wie nur möglich zu halten, so dass verschiedene Teile der Engine vollkommen unabhängig voneinander entwickelt und auch in anderen Rust-Anwendungen eingesetzt werden können.

Die verschiedenen Hauptaufgaben des Browsers wie Rendering, I/O, Layers Compositing et cetera sind in verschiedene Tasks aufgeteilt. Sobald mehrere Tabs respektive Fenster unterstützt werden, werden diese Tasks für jedes dieser Fenster in der Rendering-Pipeline nachgebildet. Weitere Details hierzu gibt es in mozilla.dev.servo.

4


Kommentare

  1. MagnaSedna  03. April 2013, 17:30

    Mozilla weiß bei Servo nun Samsung an seiner Seite.

    http://www.golem.de/news/mozilla-servo-samsung-beteiligt-sich-an-browser-der-naechsten-generation-1304-98507.html

  2. Sören Hentzschel  03. April 2013, 17:50

    Namhafte Partner können ja nicht schaden. Aber ich muss noch zwei andere Artikel schreiben, bevor ich darüber schreiben kann. :P

Kommentar hinzufügen

E-Mail-Benachrichtigung bei weiteren Kommentaren.