Projektet til integration med Qt web-motoren Servo, der udvikles på Rust-sprog

KDAB har annonceret udviklingen af komponenten Servo WebView til Qt, der bruger browser motoren Servo i stedet for Qt WebEngine modulen (baseret på Chromium) til visning af webindhold i QML-applikationer. Projektet forventes at reducere angrebsoverfladen på Qt-applikationer, der bruger WebView API, ved at anvende en komponent, hvor ulemperne forårsaget af hukommelsesfejl er minimeret takket være sproget Rust. Koden for Servo WebView til Qt distribueres under MPL-2.0 licensen.

For at muliggøre drift af Servo-koden, skrevet i Rust, i et C++-miljø, anvendes CXX-Qt-laget. CXX-Qt gør det muligt at skabe komponenter i Rust, der integreres med C++-programmer, der bruger Qt. Anvendelsen af CXX-Qt giver mulighed for at oprette underklasser af QObject i Rust, som kan bruges i C++, QML og JavaScript. Der er også mulighed for at oprette Rust-programmer, der kalder C++-kode, for hvilket der tilbydes Rust-wrapper over de typiske QtCore og QtGui klassetyper.

Servo-projektet blev oprindeligt udviklet af Mozilla, men overgik senere til Linux Foundation. Motoren adskiller sig ved at understøtte multitrådet rendering af web-sider, parallelisering af operationer med DOM (Document Object Model) og anvendelse af de sikrede programmeringsmekanismer, der tilbydes af Rust. Ved oprettelsen kunne Firefox browser motoren ikke fuldt ud udnytte potentialet i moderne multicore systemer på grund af brugen af en-trådet indholdsbehandling. Servo er oprindeligt skabt med støtte til opdeling af DOM-kode og rendering i mindre delopgaver, der kan udføres parallelt og mere effektivt udnytte ressourcerne i multicore CPU'er. Nogle dele af Servo, såsom den multitrådede CSS-motor og WebRender rendering-systemet, er allerede integreret i Firefox.

Af nært beslægtede projekter bør også nævnes Tauri-Servo-projektet, der udvikler backend til WRY-biblioteket baseret på Servo-motoren, hvilket muliggør brugen af Servo i applikationer baseret på Tauri-rammeværket (en konkurrent til Electron-platformen til oprettelse af brugerdefinerede applikationer med browserteknologier).

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster