Tvrtka KDAB najavila je razvoj komponente Servo WebView za Qt, koja koristi preglednički motor Servo umjesto modula Qt WebEngine (na bazi Chromia) za prikaz web sadržaja u QML aplikacijama. Projekt bi trebao pomoći smanjenju površine napada na Qt aplikacije koje koriste WebView API, koristeći komponentu u kojoj je zahvaljujući jeziku Rust minimizirano pojavljivanje ranjivosti uzrokovanih greškama u radu s memorijom. Kod Servo WebView za Qt distribuira se pod MPL-2.0 licencom.
Za organizaciju rada koda Servo, napisanog na jeziku Rust, u okruženju na jeziku C++ koristi se CXX-Qt sloj. CXX-Qt omogućuje izradu komponenti na jeziku Rust, integriranih s programima na C++ koji koriste Qt. Primjena CXX-Qt omogućuje stvaranje podklasa QObject na Rustu, koje se mogu koristiti u C++, QML i JavaScript kodu. Također postoji mogućnost izrade Rust programa koji pozivaju kod na C++, za što su dostupni Rust omotači nad standardnim klasama QtCore i QtGui.
Projekt Servo izvorno je razvijala tvrtka Mozilla, ali je kasnije prešao pod okrilje Linux Foundation. Motor se razlikuje podrškom za višedretveno renderiranje web stranica, paralelom operacija s DOM-om (Document Object Model) i korištenjem mehanizama sigurnog programiranja koje pruža jezik Rust. Tijekom osnivanja, preglednički motor Firefox nije mogao u potpunosti iskoristiti potencijal modernih višekratnih sustava zbog korištenja jedinstvenih shema obrade sadržaja. Servo je izvorno stvoren s podrškom za dijeljenje DOM koda i renderiranje na manje zadatke, koji se mogu izvoditi paralelno i učinkovitije koristiti resurse višejezgrenih CPU-a. Neki dijelovi Servo-a, poput višedretvenog CSS motora i sustava renderiranja WebRender, već su integrirani u Firefox.
Među srodnim projektima ističe se i projekt Tauri-Servo, koji razvija backend za biblioteku WRY temeljenu na motoru Servo, što omogućuje korištenje Serva u aplikacijama temeljenim na Tauri frameworku (konkurentska platforma za Electron za izradu korisničkih aplikacija koristeći pregledničke tehnologije).
Izvor: opennet.ru
