Proyecto de integración con el motor web Qt Servo, desarrollado en el lenguaje Rust

La empresa KDAB ha anunciado el desarrollo de un componente Servo WebView para Qt, que utiliza el motor de navegación Servo en lugar del módulo Qt WebEngine (basado en Chromium) para mostrar contenido web en aplicaciones QML. Se espera que este proyecto ayude a reducir la superficie de ataque en las aplicaciones Qt que utilizan la API WebView, gracias a la implementación de un componente que minimiza la aparición de vulnerabilidades causadas por errores de gestión de memoria, utilizando el lenguaje Rust. El código de Servo WebView para Qt se distribuye bajo la licencia MPL-2.0.

Para hacer funcionar el código de Servo, escrito en Rust, en un entorno de C++, se utiliza una capa CXX-Qt. CXX-Qt permite crear componentes en Rust que se integran con programas en C++ que utilizan Qt. El uso de CXX-Qt permite crear subclases QObject en Rust que pueden ser utilizadas en código C++, QML y JavaScript. También existe la posibilidad de crear programas en Rust que llamen a código en C++, para lo cual se proporcionan enlaces Rust sobre las clases estándar de QtCore y QtGui.

El proyecto Servo fue inicialmente desarrollado por la empresa Mozilla, pero luego pasó a estar bajo el paraguas de la organización Linux Foundation. El motor se distingue por su soporte para renderizado web multihilo, paralelización de operaciones con el DOM (Document Object Model) y la utilización de los mecanismos de programación segura que ofrece el lenguaje Rust. En el momento de su creación, el motor de navegación de Firefox no podía aprovechar plenamente el potencial de los modernos sistemas multinúcleo debido al uso de esquemas de procesamiento de contenido en un solo hilo. Servo fue diseñado desde el principio con un soporte para dividir el código del DOM y el renderizado en tareas más pequeñas que pueden ejecutarse en paralelo y utilizar de manera más eficiente los recursos de los CPU multinúcleo. Ya se han integrado algunas partes de Servo en Firefox, como el motor CSS multihilo y el sistema de rendering WebRender.

Entre los desarrollos relacionados, también se destaca el proyecto Tauri-Servo, que desarrolla el backend de la biblioteca WRY basada en el motor Servo, permitiendo el uso de Servo en aplicaciones basadas en el marco Tauri (una plataforma competidora de Electron para crear aplicaciones de usuario utilizando tecnologías web).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster