KDAB has announced the development of Servo WebView, a component for Qt that utilizes the Servo browser engine instead of the module Qt WebEngine, which is based on Chromium, to display web content in QML applications. This project aims to reduce security vulnerabilities in Qt applications using the WebView API by leveraging the Rust language to minimize memory-related errors. The Servo WebView code for Qt is distributed under the MPL-2.0 license. More information can be found here.
To organize the Servo code written in Rust and integrated with C++, the cxx-qt layer is utilized. CXX-QT enables the creation of Rust language components integrated with C++ programs using Qt, allowing the creation of QObject subclasses in Rust that can be utilized in C++, QML, and JavaScript code. It also enables the creation of Rust programs that interact with C++ code, providing Rust bindings over typical Qtcore and QtGui classes. More details can be found here.
The Servo project, originally developed by Mozilla and now under the protection of the Linux Foundation, supports multi-threaded rendering of web pages, parallel operations with the Document Object Model (DOM), and safe programming mechanisms provided by the Rust language. Servo’s design allows for efficient utilization of multi-core CPUs by breaking down DOM and rendering tasks into smaller subtasks that can be executed in parallel. Firefox has integrated parts of Servo, such as a multi-threaded CSS engine and the WebRender drawing system. More information on Servo can be found here.
Additionally, the project Tauri-Servo, related to these developments, is working on the backend for the library Wry based on the Servo engine. This project enables the use of Servo in applications built on the Tauri framework, which competes with the Electron platform for creating user applications using web technologies. More details about Tauri-Servo can be found here.