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 anziché il modulo Qt WebEngine (basato su Chromium) per la visualizzazione di contenuti web nelle applicazioni QML. Si prevede che il progetto contribuirà a ridurre la superficie di attacco delle applicazioni Qt che utilizzano l'API WebView, grazie all'adozione di un componente in cui, utilizzando il linguaggio Rust, si minimizza la possibilità di vulnerabilità dovute a errori di gestione della memoria. Il codice Servo WebView per Qt è distribuito sotto licenza MPL-2.0.

Per integrare il codice Servo, scritto in Rust, in un ambiente C++, viene utilizzato un livello CXX-Qt. CXX-Qt consente di creare componenti in Rust integrati con programmi in C++ che utilizzano Qt. L'uso di CXX-Qt permette di creare sottoclassi di QObject in Rust, che possono essere utilizzate nel codice C++, QML e JavaScript. È anche possibile creare programmi Rust che chiamano codice in C++, per i quali sono forniti dei wrapper Rust per le classi di QtCore e QtGui.

Il progetto Servo è stato inizialmente sviluppato da Mozilla, ma successivamente è stato adottato dalla Linux Foundation. Il motore si distingue per il supporto del rendering multithread per le pagine web, la parallelizzazione delle operazioni sul DOM (Document Object Model) e l'utilizzo dei meccanismi di programmazione sicura forniti da Rust. All'epoca della sua fondazione, il motore del browser 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 a thread singolo. Servo è stato progettato fin dall'inizio con il supporto per il frammento di codice DOM e il rendering in compiti più piccoli, che possono essere eseguiti in parallelo e utilizzare più efficientemente 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, è possibile citare il progetto Tauri-Servo, che sviluppa il backend per la libreria WRY basata sul motore Servo, consentendo di utilizzare Servo in applicazioni costruite sul framework Tauri (una piattaforma concorrente di Electron per la creazione di applicazioni desktop utilizzando tecnologie web).

Fonte: opennet.ru

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