Ettevõte KDAB teatas Servo WebView komponendi arendamisest Qt jaoks, mis kasutab veebibrauseri mootori Servo asemel Qt WebEngine’i (Chromiumi põhjal) QML-rakendustes veebisisu kuvamiseks. Eeldatakse, et projekt aitab vähendada Qt-rakendustega seotud rünnakupinda, kasutades API-d WebView, tänu Rusti keele kasutamisele, mis vähendab mäluhaldusvigade tõttu tekkivate haavatavuste loomist. Servo WebView kood Qt jaoks levitatakse MPL-2.0 litsentsi alusel.
C++ keskkonnas Rustis kirjutatud Servo koodi töö korraldamiseks kasutatakse CXX-Qt vahekihti. CXX-Qt võimaldab luua Rusti keeles komponente, mis integreeruvad Qt-d kasutavate C++ programmidega. CXX-Qt kasutamine võimaldab luua QObjecti alamklasse Rustis, mida saab kasutada C++, QML ja JavaScripti koodis. Samuti on võimalik luua Rusti programme, mis kutsuvad C++ koodi, mille jaoks on saadaval Rusti sidemed QtCore ja QtGui tüüpklasside kohal.
Servo projekt arenes algselt välja ettevõtte Mozilla poolt, kuid hiljem võttis selle üle Linux Foundationi organisatsioon. Mootor eristub mitme lõime toel veebilehtede renderdamisel, DOM-i (dokumentide objektimudel) operatsioonide paralleelset töötlemist ning Rusti keele pakutud turvaprogrammeerimise mehhanismide kasutamisest. Servo loomise ajal ei saanud Firefoxi brauseri mootor täiel määral kasutada nüüdisaegsete mitme südamike süsteemide potentsiaali, kuna kasutati ühe lõimega sisu töötlemise skeeme. Servo on algselt loodud toetama DOM-i koodi ja renderdamise jagamist väiksemate alamülesanneteks, mida saab paralleelselt täita ja tõhusamalt ära kasutada mitme südamikuga CPU ressursse. Firefoxis on juba integreeritud mõned Servo osad, nagu mitme lõimega CSS-mootor ja WebRender joonistus süsteem.
Samuti on sarnaste arenduste seas märkida Tauri-Servo projekt, mis arendab WRY teegi tagapinda Servo mootoril ja võimaldab Servo kasutamist Tauri raamistiku põhjal loodud rakendustes (konkurent Electronile veebitehnoloogiate abil kasutajarakenduste loomiseks).
Allikas: opennet.ru
