Proiectul de integrare cu motorul web Qt Servo, dezvoltat în limbajul Rust

Compania KDAB a anunțat dezvoltarea componentei Servo WebView pentru Qt, care utilizează motorul de browser Servo în locul modulului Qt WebEngine (bazat pe Chromium) pentru a afișa conținut web în aplicațiile QML. Se preconizează că proiectul va ajuta la reducerea suprafeței de atac pentru aplicațiile Qt care utilizează API-ul WebView, prin aplicarea unei componente în care, datorită limbajului Rust, au fost minimizate vulnerabilitățile cauzate de erorile de gestionare a memoriei. Codul Servo WebView pentru Qt este distribuit sub licența MPL-2.0.

Pentru organizarea funcționării codului Servo, scris în limbajul Rust, într-un mediu C++, este utilizată o interfață CXX-Qt. CXX-Qt permite crearea de componente în limbajul Rust, integrate cu programele în C++ care folosesc Qt. Utilizarea CXX-Qt oferă posibilitatea de a crea subclase QObject în Rust, care pot fi folosite în codul C++, QML și JavaScript. De asemenea, există posibilitatea de a crea programe Rust care apelează codul C++, pentru care sunt furnizate legături Rust asupra claselor tipice QtCore și QtGui.

Proiectul Servo a fost dezvoltat inițial de compania Mozilla, dar apoi a trecut sub tutela organizației Linux Foundation. Motorul se distinge prin suportul pentru redarea web-ului pe mai multe fire de execuție, paralelizarea operațiunilor cu DOM (Document Object Model) și utilizarea mecanismelor de programare sigură furnizate de limbajul Rust. La fundația Servo, motorul de browser Firefox nu putea valorifica pe deplin potențialul sistemelor multicore moderne din cauza utilizării schemei de procesare a conținutului pe un singur fir. Servo a fost creat inițial cu suport pentru fragmentarea codului DOM și redarea în sarcini mai mici, care pot fi executate în paralel și utilizează mai eficient resursele CPU multicore. Unele părți ale Servo, cum ar fi motorul CSS pe mai multe fire de execuție și sistemul de redare WebRender, sunt deja integrate în Firefox.

Printre proiectele cu teme similare se remarcă și proiectul Tauri-Servo, care dezvoltă backend-ul bibliotecii WRY bazat pe motorul Servo, permițând utilizarea Servo în aplicațiile bazate pe framework-ul Tauri (o platformă rivală cu Electron pentru crearea aplicațiilor de utilizator utilizând tehnologii de browser).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster