Der Browser-Engine Kosmonaut wurde in der Programmiersprache Rust entwickelt.

Im Rahmen des Projekts Kosmonaut entwickelt eine Browser-Engine, die vollständig in der Programmiersprache Rust geschrieben ist und einige Entwicklungen des Projekts Servo nutzt. Der Code wird verbreitet steht unter der Lizenz MPL 2.0 (Mozilla Public License). Zur Darstellung werden OpenGL-Bindings verwendet gl-rs in der Programmiersprache Rust. Das Fenster-Management und die Erstellung des OpenGL-Kontexts wird durch die Bibliothek Glutinrealisiert. Für das Parsen von HTML und CSS kommen die Komponenten html5ever und cssparser, die im Rahmen des Projekts Servo.
entwickelt werden. Der Code für die Arbeit mit dem DOM basiert auf Entwicklungen des Projekts Kuchiki, das eine Bibliothek für die Manipulation von HTML/XML entwickelt. Unter den verwendeten Projekten wird auch der experimentelle Web-Engine Robinsonerwähnt, der sich seit etwa 5 Jahren in einem halberlassenen Zustand befindet.

In der aktuellen Entwicklungsphase wird eine grundlegende Unterstützung für HTML und eine begrenzte Anzahl von CSS-Funktionalitäten sichergestellt, die bisher nicht ausreichen, um die meisten modernen Seiten anzuzeigen. Dennoch werden einfache Seiten mit div-Elementen und CSS korrekt dargestellt. Ursprünglich wurde das Projekt vor einem Jahr mit dem Ziel gegründet, den Prozess der Entwicklung von Browser-Engines zu erlernen, versucht jedoch nun, neue Anwendungsbereiche zu finden.

Was bereits umgesetzt wurde:

  • HTML-Parsing, Teilmenge von CSS, kaskadierende CSS, DOM-Modell.
  • Seitenrendering, Blocklayout des Inhalts.
  • Teilweise Unterstützung für das abstrakte Box-Modell und die Eigenschaften „direction«.
  • Erstellung von Debug-Dumps mit einer Baumstruktur der angezeigten Elemente.
  • Unterstützung beliebiger Skalierungsfaktoren für High-DPI-Displays.
  • Textdarstellung mit der Bibliothek FreeType.
  • Bestellen Flow Layout, kontextabhängige Inline-Formatierung und Rendering.

Quelle: opennet.ru

60GB SSD 8Gb DDR4