Im Rahmen des Projekts entwickelt sich ein browserbasierter Engine, der vollstĂ€ndig in Rust geschrieben ist und einige Entwicklungen des Servo-Projekts nutzt. Der Code steht unter der MPL 2.0-Lizenz (Mozilla Public License). FĂŒr das Rendering werden OpenGL-Bindings verwendet, in Rust. Das Fenster-Management und die Erstellung des OpenGL-Kontextes werden 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 DOM-Verarbeitung basiert auf den Arbeiten des Projekts , das eine Bibliothek fĂŒr die Manipulation von HTML/XML entwickelt. Auch wird der experimentelle Web-Engine erwĂ€hnt, der sich seit etwa 5 Jahren in einem halben Stillstand befindet.
In der aktuellen Entwicklungsphase wird grundlegende UnterstĂŒtzung fĂŒr HTML und eine eingeschrĂ€nkte Menge an CSS-FunktionalitĂ€ten gewĂ€hrleistet, die jedoch bisher nicht ausreicht, um die meisten modernen Seiten anzuzeigen. Dennoch mit divs und CSS werden korrekt gerendert. Das Projekt wurde ursprĂŒnglich vor einem Jahr gegrĂŒndet, um den Prozess der Entwicklung von Browser-Engines zu erlernen, versucht jedoch jetzt, neue Anwendungsbereiche zu finden.
Was bereits umgesetzt wurde:
- HTML-Parsing, ein Teilmenge von CSS, kaskadierende CSS, DOM-Modell.
- Seitenrendering, Blocklayout von Inhalten.
- TeilunterstĂŒtzung von abstraktem und Eigenschaften â«.
- Erstellung von Debug-Dumps mit einer Struktur der angezeigten Elemente.
- UnterstĂŒtzung beliebiger Skalierungsfaktoren fĂŒr High-DPI-Bildschirme.
- Textrendering mit der FreeType-Bibliothek.
- Support , kontextabhÀngiger Inline-Formatierung und Rendering.
Quelle: opennet.ru
