Progetto di integrazione con il motore web Qt Servo, sviluppato in linguaggio Rust

L'azienda KDAB ha annunciato lo sviluppo di un componente Servo WebView per Qt, che utilizza il motore browser Servo invece del modulo Qt WebEngine (basato su Chromium) per la visualizzazione di contenuti web nelle applicazioni QML. Si prevede che il progetto contribuisca a ridurre la superficie di attacco delle applicazioni Qt che utilizzano l'API WebView, grazie all'uso di un componente in cui, grazie al linguaggio Rust, è ridotto al minimo il verificarsi di vulnerabilità causate da errori nella gestione della memoria. Il codice di Servo WebView per Qt è distribuito con licenza MPL-2.0.

Per organizzare il funzionamento del codice di Servo, scritto in linguaggio Rust, in un ambiente in linguaggio C++, viene utilizzato uno strato CXX-Qt. CXX-Qt consente di creare componenti in linguaggio Rust integrabili con programmi in C++ che utilizzano Qt. L'uso di CXX-Qt offre la possibilità di creare sottoclassi QObject in Rust, che possono essere utilizzate nel codice in C++, QML e JavaScript. È anche possibile creare programmi Rust che chiamano codice in C++, per i quali vengono forniti i wrapper Rust sui tipi di classi QtCore e QtGui.

Il progetto Servo è stato originariamente sviluppato da Mozilla, ma poi è passato sotto l'egida della Linux Foundation. Il motore si distingue per il supporto del rendering multithread delle pagine web, il parallelismo delle operazioni con il DOM (Document Object Model) e l'uso dei meccanismi di programmazione sicura forniti dal linguaggio Rust. Al momento della sua fondazione, il motore browser di Firefox non era in grado di sfruttare appieno il potenziale dei moderni sistemi multi-core a causa dell'uso di schemi di elaborazione dei contenuti single-thread. Servo è stato originariamente progettato con il supporto per la suddivisione del codice DOM e il rendering in sotto-compiti più piccoli, che possono essere eseguiti in parallelo e utilizzare più efficacemente le risorse delle CPU multi-core. Alcune parti di Servo, come il motore CSS multithread e il sistema di rendering WebRender, sono già integrate in Firefox.

Tra i progetti affini, si segnala anche il progetto Tauri-Servo, che sviluppa il backend della libreria WRY basata sul motore Servo, permettendo di utilizzare Servo nelle applicazioni basate sul framework Tauri (una piattaforma concorrente di Electron per la creazione di applicazioni desktop utilizzando tecnologie web).

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster