Die in Rust geschriebene Kosmonaut-Browser-Engine wurde eingeführt

Das Projekt Kosmonaut Es wird eine Browser-Engine entwickelt, die vollständig in der Rust-Sprache geschrieben ist und einige der Entwicklungen des Servo-Projekts nutzt. Code vertrieben von lizenziert unter MPL 2.0 (Mozilla Public License). Zum Rendern werden OpenGL-Bindungen verwendet gl-rs in Rust-Sprache. Fensterverwaltung und OpenGL-Kontexterstellung werden von der Bibliothek implementiert Glutin. Komponenten werden zum Parsen von HTML und CSS verwendet html5ever и cssparservom Projekt entwickelt Servo.
Der Code für die Arbeit mit dem DOM basiert auf den Entwicklungen des Projekts Kuchiki, das eine Bibliothek zur Bearbeitung von HTML/XML entwickelt. Unter den verwendeten Projekten wird auch eine experimentelle Web-Engine erwähnt Robinson, das sich seit etwa 5 Jahren in einem halb verlassenen Zustand befindet.

Im aktuellen Entwicklungsstadium werden grundlegende HTML-Unterstützung und ein begrenzter Satz an CSS-Funktionen bereitgestellt, die für die Anzeige der meisten modernen Seiten noch nicht ausreichen. Dennoch einfache Seiten Auf Divs mit CSS werden korrekt gezeichnet. Das Projekt wurde ursprünglich vor einem Jahr gegründet, um den Prozess der Entwicklung von Browser-Engines zu lehren, versucht nun aber, neue Anwendungsnischen zu erschließen.

Was wurde bereits umgesetzt:

  • HTML-Parsing, CSS-Teilmenge, kaskadierendes CSS, DOM.
  • Seitenrendering, Blockinhaltslayout.
  • Teilweise Unterstützung für Abstract Box-Modelle und Eigenschaften“Richtung«.
  • Generieren von Debug-Dumps mit einer Baumstruktur angezeigter Elemente.
  • Unterstützt beliebige Skalierungsfaktoren für Bildschirme mit hoher DPI.
  • Rendern von Text mithilfe der FreeType-Bibliothek.
  • Unterstützen Flow-Layout, kontextsensitive Inline-Formatierung und -Rendering.

Source: opennet.ru

Kommentar hinzufügen