Im Rahmen des Projekts entwickelt eine Browser-Engine, die vollständig in der Programmiersprache Rust geschrieben ist und einige Entwicklungen des Projekts Servo nutzt. Der Code steht unter der Lizenz MPL 2.0 (Mozilla Public License). Zur Darstellung werden OpenGL-Bindings verwendet in der Programmiersprache Rust. Das Fenster-Management und die Erstellung des OpenGL-Kontexts wird durch die Bibliothek realisiert. Für das Parsen von HTML und CSS kommen die Komponenten und , die im Rahmen des Projekts .
entwickelt werden. Der Code für die Arbeit mit dem DOM basiert auf Entwicklungen des Projekts , das eine Bibliothek für die Manipulation von HTML/XML entwickelt. Unter den verwendeten Projekten wird auch der experimentelle Web-Engine erwä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 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 und die Eigenschaften „«.
- 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 , kontextabhängige Inline-Formatierung und Rendering.
Quelle: opennet.ru
