Servo, der aktuelle Stand

Mozilla-Entwickler Patrick Walton hat in einer E-Mail den aktuellen Stand von Servo zusammengefasst. Demnach läuft Servo derzeit nur unter Linux und Mac OS X, es gibt aber keinen Grund dafür, dass Servo nicht auch unter Windows laufen sollte. Es hat sich bisher nur niemand darum gekümmert.

Stellenmarkt
  1. Teamleiter (m/w/d) Systemadministration
    BRUDER Spielwaren GmbH + Co. KG, Fürth bei Nürnberg
  2. Projektmanager Digitalisierung Geschäftsprozesse (d/m/w)
    VDI/VDE Innovation + Technik GmbH, Berlin
Detailsuche

Strukturell verfolgt Mozilla bei Servo einen ähnlichen Ansatz wie das Webkit-Projekt und nutzt Git-Submodule, um die Browserengine in mehrere unabhängige Teile zu gliedern, die auch unabhängig voneinander entwickelt werden können. So sollen auch Module entstehen, die später in anderen Applikationen eingesetzt werden können, beispielsweise Netzwerk, URL-Parsing oder Layer.

Soweit möglich, verwendet Servo derzeit existierende C- und C++-Bibliotheken, was ausdrücklich nicht ausschließt, dass diese Funktionen später in parallelem Rust-Code nachgebaut werden. Mit diesem Ansatz aber lassen sich schneller erste Ergebnisse erzielen.

So verwendet Servo derzeit unter anderem Harfbuzz und Ragel zur Textdarstellung, Mozillas Azure zur Darstellung von 2D-Grafik sowie derzeit SDL und demnächst GLUT zur Abstraktion des nativen Fenstersystems. Zum Decodieren von Bildern wird stb_image und als Javascript-Engine Mozillas Spidermonkey eingesetzt. Die Netzwerkkommunikation wird über die von Node.js-Projekt entwickelte libuv abgewickelt, die eine Abstraktion der asynchronen I/O-Mechanismen unterschiedlicher Betriebssysteme bietet, einschließlich Windows.

Skalierbare Rendering-Engine

Golem Akademie
  1. Kotlin für Java-Entwickler
    14.-15. Oktober 2021, online
  2. PostgreSQL Fundamentals
    6.-9. Dezember 2021, online
  3. Docker & Containers - From Zero to Hero
    27.-29. Oktober 2021, online
Weitere IT-Trainings

Die Arbeit an Servo konzentrierte sich bisher darauf, die Basis für eine skalierbaren Rendering-Engine zu schaffen. Dazu wurde die Rendering-Pipeline in mehrere Tasks aufgespalten, die als schlanke Rust-Threads umgesetzt sind.

Sobald Servo Unterstützung für mehrere Tabs und Fenster erhält, werden diese Tasks dann für jede Quelle repliziert. DOM-Strukturen werden zwischen den Tasks nach dem Modell Read-Copy-Update ausgetauscht. Sollte der Content-Task einen DOM-Node verändern, während der Layout-Task gerade darauf arbeitet, wird dieser DOM-Node temporär kopiert. So gibt es einen Content-Task, in dem Javascript läuft und der neue Layout-Tasks erzeugt und gleichzeitig verwaltet. Und einen Layout-Task, der weitere Tasks überwacht, die verschiedene Layout-Aufgaben erledigen. Derzeit arbeitet der Layout-Task noch weitgehend sequenziell, es wird aber beispielsweise an einem parallel arbeitenden CSS-Sektor gearbeitet.

Hinzu kommt ein Renderer-Task, der Displaylisten erhält und sie rendert. Allerdings soll noch eine Layer-Infrastruktur in Servo integriert werden, so dass später mehrere Render-Tasks parallel arbeiten können - jeweils einer pro Schicht.

Der Platform-Task kümmert sich um den Haupt-OS-Thread und die Ereignisschleife der zugrundeliegenden Plattform, die aber auf das Nötigste beschränkt werden soll. Ähnliches gilt für den Engine-Task, der ausschließlich dafür da ist, alle anderen Tasks zu überwachen. Der noch nicht implementierte I/O-Task soll die Netzwerkfunktionen übernehmen und dabei dem asynchronen Vorbild libuv folgen. Auch der Compositor-Task, der die einzelnen Layer zusammensetzt und sich um Scrollen und Animationen kümmern soll, ist noch nicht implementiert.

Servo wird offen entwickelt, der Code findet sich unter github.com/mozilla/servo.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Servo: Mozilla arbeitet an einer neuen Browserengine
  1.  
  2. 1
  3. 2


Aktuell auf der Startseite von Golem.de
Apple
Macbook Pro bekommt Notch und Magsafe

Apple hat das Macbook Pro in neuem Gehäuse, mit neuem SoC, einem eigenen Magsafe-Ladeport und Mini-LED-Display mit Kerbe vorgestellt.

Apple: Macbook Pro bekommt Notch und Magsafe
Artikel
  1. Displayreinigung: Apple bringt 25-Euro-Poliertuch mit Kompatibilitätsliste
    Displayreinigung
    Apple bringt 25-Euro-Poliertuch mit Kompatibilitätsliste

    Fast unbemerkt hat Apple den eigentlichen Star des Events von Mitte Oktober 2021 in seinen Onlineshop aufgenommen: ein Poliertuch.

  2. In-Ears: Apple stellt Airpods 3 vor
    In-Ears
    Apple stellt Airpods 3 vor

    Apple hat auf seinem Event die Airpods 3 vorgestellt, die den Airpods 3 Pro sehr ähnlich sehen - allerdings ohne Geräuschunterdrückung.

  3. 5 US-Dollar: Apple bietet günstigeres Music-Abo an
    5 US-Dollar
    Apple bietet günstigeres Music-Abo an

    Apple hat ein preiswerteres Apple-Music-Abo angekündigt, das aber nur mit dem Sprachassistenten Siri gesteuert werden kann.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Cyber Week: Bis zu 360€ auf Gaming-Monitore & bis zu 22% auf Be Quiet • LG-TVs & Monitore zu Bestpreisen (u. a. Ultragear 34" Curved FHD 144Hz 359€) • Bosch-Werkzeug günstiger • Dell-Monitore günstiger • Horror-Filme reduziert • MwSt-Aktion bei MM: Rabatte auf viele Produkte [Werbung]
    •  /