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.
- Support , kontextabhÀngige Inline-Formatierung und Rendering.
Quelle: opennet.ru
