Projekt zur Integration der Servo-Web-Engine in Qt, entwickelt in der Rust-Sprache

KDAB hat die Entwicklung der Servo WebView-Komponente für Qt angekündigt, die die Servo-Browser-Engine anstelle des Qt WebEngine-Moduls (basierend auf Chromium) verwendet, um Webinhalte in QML-Anwendungen anzuzeigen. Es wird erwartet, dass das Projekt dazu beitragen wird, die Angriffsfläche für Qt-Anwendungen mithilfe der WebView-API zu verringern, indem eine Komponente verwendet wird, in der dank der Rust-Sprache das Auftreten von Schwachstellen durch Fehler bei der Arbeit mit dem Speicher minimiert wird. Der Servo WebView-Code für Qt ist unter der MPL-2.0-Lizenz lizenziert.

Um die Arbeit des in Rust geschriebenen Servo-Codes in einer C++-Umgebung zu organisieren, wird die CXX-Qt-Schicht verwendet. Mit CXX-Qt können Sie Rust-Komponenten erstellen, die sich mithilfe von Qt in C++-Programme integrieren lassen. Die Verwendung von CXX-Qt ermöglicht die Erstellung von QObject-Unterklassen in Rust, die in C++-, QML- und JavaScript-Code verwendet werden können. Es ist auch möglich, Rust-Programme zu erstellen, die C++-Code aufrufen, für den Rust-Bindungen über die Standardklassen QtCore und QtGui bereitgestellt werden.

Das Servo-Projekt wurde ursprünglich von Mozilla entwickelt, später aber von der Organisation übernommen. Linux Die Engine basiert auf Servo und unterstützt Multithreading beim Rendern von Webseiten, die Parallelisierung von DOM-Operationen (Document Object Model) sowie die Nutzung sicherer Programmiermechanismen der Programmiersprache Rust. Zum Zeitpunkt der Entwicklung von Servo konnte die Firefox-Browser-Engine das Potenzial moderner Mehrkernsysteme aufgrund der Single-Thread-Inhaltsverarbeitung nicht voll ausschöpfen. Servo wurde von Grund auf so konzipiert, dass DOM- und Rendering-Code in kleinere, parallel ausführbare Teilaufgaben aufgeteilt werden können, um die Ressourcen von Mehrkernprozessoren effizienter zu nutzen. Firefox integriert bereits einige Komponenten von Servo, wie die Multithread-CSS-Engine und das WebRender-Rendering-System.

Unter verwandten Entwicklungen ist auch das Tauri-Servo-Projekt zu erwähnen, das ein Backend für die WRY-Bibliothek basierend auf der Servo-Engine entwickelt und die Verwendung von Servo in Anwendungen ermöglicht, die auf dem Tauri-Framework basieren (einer Plattform, die mit Electron bei der Erstellung benutzerdefinierter Anwendungen konkurriert). Browser-Technologien).

Source: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz und VPS-VDS-Servern 🔥 Kaufen Sie zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server | ProHoster