{"id":114950,"date":"2024-04-09T15:31:11","date_gmt":"2024-04-09T13:31:11","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust"},"modified":"2024-04-09T15:31:11","modified_gmt":"2024-04-09T13:31:11","slug":"proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/cs\/blog\/news\/proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust","title":{"rendered":"Projekt integrace s Qt webov\u00fdm enginem Servo, vyv\u00edjen\u00fdm v jazyce Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Spole\u010dnost KDAB ozn\u00e1mila v\u00fdvoj komponenty Servo WebView pro Qt, kter\u00e1 vyu\u017e\u00edv\u00e1 prohl\u00ed\u017ee\u010dov\u00fd engine Servo m\u00edsto modulu Qt WebEngine (na b\u00e1zi Chromium) pro zobrazen\u00ed webov\u00e9ho obsahu v aplikac\u00edch QML. P\u0159edpokl\u00e1d\u00e1 se, \u017ee projekt pom\u016f\u017ee sn\u00ed\u017eit \u00fato\u010dnou plochu na Qt aplikace vyu\u017e\u00edvaj\u00edc\u00ed API WebView d\u00edky komponent\u011b, ve kter\u00e9 byl d\u00edky jazyku Rust minimalizov\u00e1n vznik zranitelnost\u00ed zp\u016fsoben\u00fdch chybami p\u0159i pr\u00e1ci s pam\u011bt\u00ed. K\u00f3d Servo WebView pro Qt se distribuuje pod licenc\u00ed MPL-2.0.         <\/p>\n<p>Pro zaji\u0161t\u011bn\u00ed funkce k\u00f3du Servo, napsan\u00e9ho v jazyce Rust, v prost\u0159ed\u00ed jazyka C++, je pou\u017eita vrstva CXX-Qt. CXX-Qt umo\u017e\u0148uje vytv\u00e1\u0159et komponenty v jazyce Rust, kter\u00e9 jsou integrov\u00e1ny s programy v C++, pou\u017e\u00edvaj\u00edc\u00edmi Qt. Pou\u017eit\u00ed CXX-Qt umo\u017e\u0148uje vytv\u00e1\u0159et podt\u0159\u00eddy QObject v Rustu, kter\u00e9 mohou b\u00fdt pou\u017eity v k\u00f3du v C++, QML a JavaScriptu. Tak\u00e9 je mo\u017en\u00e9 vytv\u00e1\u0159et Rust programy, kter\u00e9 volaj\u00ed k\u00f3d v C++, co\u017e se umo\u017e\u0148uje pomoc\u00ed Rust wrapper\u016f nad typov\u00fdmi t\u0159\u00eddami QtCore a QtGui.      <\/p>\n<p>Projekt Servo byl p\u016fvodn\u011b vyv\u00edjen spole\u010dnost\u00ed Mozilla, ale pot\u00e9 p\u0159e\u0161el pod ochranu organizace Linux Foundation. Engine se vyzna\u010duje podporou v\u00edcestup\u0148ov\u00e9ho rendering webov\u00fdch str\u00e1nek, paralelizac\u00ed operac\u00ed s DOM (Document Object Model) a vyu\u017eit\u00edm mechanism\u016f bezpe\u010dn\u00e9ho programov\u00e1n\u00ed poskytovan\u00fdch jazykem Rust. V dob\u011b vzniku Servo nemohl prohl\u00ed\u017ee\u010dov\u00fd engine Firefox pln\u011b vyu\u017e\u00edt potenci\u00e1l modern\u00edch v\u00edcej\u00e1drov\u00fdch syst\u00e9m\u016f kv\u016fli pou\u017e\u00edv\u00e1n\u00ed jednovl\u00e1knov\u00fdch sch\u00e9mat zpracov\u00e1n\u00ed obsahu. Servo bylo p\u016fvodn\u011b vytvo\u0159eno s podporou rozd\u011blen\u00ed k\u00f3du DOM a rendering na men\u0161\u00ed \u00fakoly, kter\u00e9 mohou b\u00fdt vykon\u00e1v\u00e1ny paraleln\u011b a efektivn\u011bji vyu\u017e\u00edvat zdroje v\u00edcej\u00e1drov\u00fdch CPU. N\u011bkter\u00e9 \u010d\u00e1sti Servo, jako je v\u00edcestup\u0148ov\u00fd CSS engine a syst\u00e9m renderov\u00e1n\u00ed WebRender, jsou ji\u017e integrov\u00e1ny do Firefoxu.    <\/p>\n<p>Mezi p\u0159\u00edbuzn\u00fdmi projekty lze tak\u00e9 vyzdvihnout projekt Tauri-Servo, kter\u00fd vyv\u00edj\u00ed backend k knihovn\u011b WRY zalo\u017een\u00e9 na enginu Servo, co\u017e umo\u017e\u0148uje vyu\u017e\u00edt Servo v aplikac\u00edch postaven\u00fdch na frameworku Tauri (konkuruj\u00edc\u00ed s Electron platformou pro vytv\u00e1\u0159en\u00ed u\u017eivatelsk\u00fdch aplikac\u00ed pomoc\u00ed prohl\u00ed\u017ee\u010dov\u00fdch technologi\u00ed).<br \/>\n<br \/>Zdroj: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=60961\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f KDAB \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Servo WebView \u0434\u043b\u044f Qt, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a Servo \u0432\u043c\u0435\u0441\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044f Qt WebEngine (\u043d\u0430 \u0431\u0430\u0437\u0435 Chromium) \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f web-\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 QML-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445. \u041f\u0440\u0435\u0434\u043f\u043e\u043b\u0430\u0433\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u044c \u0430\u0442\u0430\u043a \u043d\u0430 Qt-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0438\u0435 API WebView, \u0437\u0430 \u0441\u0447\u0451\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u044f\u0437\u044b\u043a\u0443 Rust \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u0432\u043e\u0437\u043d\u0438\u043a\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0443\u044f\u0437\u0432\u0438\u043c\u043e\u0441\u0442\u0435\u0439, \u0432\u044b\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u043e\u0448\u0438\u0431\u043a\u0430\u043c\u0438 \u043f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-114950","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.3 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f KDAB \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Servo WebView \u0434\u043b\u044f Qt, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a Servo \u0432\u043c\u0435\u0441\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044f Qt WebEngine (\u043d\u0430 \u0431\u0430\u0437\u0435 Chromium) \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f web-\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 QML-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/cs\/blog\/news\/proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Qt web-\u0434\u0432\u0438\u0436\u043a\u0430 Servo, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f KDAB \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Servo WebView \u0434\u043b\u044f Qt, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a Servo \u0432\u043c\u0435\u0441\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044f Qt WebEngine (\u043d\u0430 \u0431\u0430\u0437\u0435 Chromium) \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f web-\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 QML-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/blog\/news\/proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2024-04-09T13:31:11+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-04-09T13:31:11+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Projekt integrace s webov\u00fdm enginem Qt Servo, vyv\u00edjen\u00fdm v jazyce Rust | ProHoster","description":"Spole\u010dnost KDAB ozn\u00e1mila v\u00fdvoj komponenty Servo WebView pro Qt, kter\u00e1 vyu\u017e\u00edv\u00e1 prohl\u00ed\u017ee\u010dov\u00fd engine Servo nam\u00edsto modulu Qt WebEngine (zalo\u017een\u00e9ho na Chromiu) pro zobrazen\u00ed webov\u00e9ho obsahu v QML aplikac\u00edch.","canonical_url":"https:\/\/prohoster.info\/cs\/blog\/news\/proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"cs_CZ","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u043e \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 Qt web-\u0434\u0432\u0438\u0436\u043a\u0430 Servo, \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f KDAB \u043e\u0431\u044a\u044f\u0432\u0438\u043b\u0430 \u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u0430 Servo WebView \u0434\u043b\u044f Qt, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0449\u0435\u0433\u043e \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u043d\u044b\u0439 \u0434\u0432\u0438\u0436\u043e\u043a Servo \u0432\u043c\u0435\u0441\u0442\u043e \u043c\u043e\u0434\u0443\u043b\u044f Qt WebEngine (\u043d\u0430 \u0431\u0430\u0437\u0435 Chromium) \u0434\u043b\u044f \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f web-\u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u0432 QML-\u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.","og:url":"https:\/\/prohoster.info\/cs\/blog\/news\/proekt-po-integraczii-s-qt-web-dvizhka-servo-razvivaemogo-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2024-04-09T13:31:11+00:00","article:modified_time":"2024-04-09T13:31:11+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"114950","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 21:52:46","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-22 21:52:46","updated":"2026-01-22 21:52:46","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/114950","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=114950"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/114950\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=114950"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=114950"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=114950"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}