Podjetje KDAB je napovedalo razvoj komponente Servo WebView za Qt, ki uporablja brskalniški motor Servo namesto modula Qt WebEngine (ki temelji na Chromiumu) za prikazovanje spletne vsebine v QML aplikacijah. Predvideva se, da bo projekt pomagal zmanjšati površino napadov na Qt aplikacije, ki uporabljajo API WebView, z uporabo komponente, v kateri je s pomočjo jezika Rust minimalizirano tveganje za ranljivosti, ki izhajajo iz napak pri upravljanju z pomnilnikom. Koda Servo WebView za Qt se distribuira pod licenco MPL-2.0.
Za organizacijo delovanja kode Servo, napisane v jeziku Rust, v okolju v jeziku C++, je vključena plast CXX-Qt. CXX-Qt omogoča ustvarjanje komponent v jeziku Rust, ki se integrirajo s programi v C++, ki uporabljajo Qt. Uporaba CXX-Qt omogoča ustvarjanje podrazredov QObject v Rustu, ki se lahko uporabljajo v kodi v C++, QML in JavaScript. Prav tako je možna izdelava Rust programov, ki kličejo kodo v C++, za kar so na voljo Rust ovitki nad tipičnimi razredi QtCore in QtGui.
Projekt Servo se je sprva razvijal pod okriljem podjetja Mozilla, nato pa je prešel pod okrilje organizacije Linux Foundation. Motor se razlikuje po podpori večnitnemu upodabljanju spletnih strani, paralelizaciji operacij z DOM (Document Object Model) in izkoriščanju mehanizmov varnega programiranja, ki jih ponuja jezik Rust. Ob ustanovitvi Servo brskalniški motor Firefox ni mogel v celoti izkoristiti potenciala sodobnih večjedrnih sistemov zaradi uporabe enonitnih shem obdelave vsebin. Servo je bil sprva ustvarjen s podporo delitvi kode DOM in upodabljanju na manjše podnaloge, ki jih je mogoče izvajati vzporedno in bolj učinkovito izkoriščati vire večjedrnih CPU-jev. V Firefoxu so že integrirani nekateri deli Servo, kot so večnitni CSS motor in sistem upodabljanja WebRender.
Med sorodnimi projekti se prav tako izpostavlja projekt Tauri-Servo, ki razvija zadnji del knjižnice WRY na osnovi motorja Servo, kar omogoča uporabo Servo v aplikacijah na osnovi ogrodja Tauri (konkurentska platforma z Electron za ustvarjanje uporabniških aplikacij z uporabo brskalniških tehnologij).
Izvor: opennet.ru
