Проект по интеграции с Qt web-движка Servo, развиваемого на языке Rust

Новости мира unix. Хотите узнать секрет вечного счастья? Откройте страницу 246.
Ответить
acolyte
Аватара пользователя
Сообщения: 2574
Зарегистрирован: 20.08.2022

#

Проект по интеграции с Qt web-движка Servo, развиваемого на языке Rust
Дата публикации:Tue, 09 Apr 2024 13:55:38 +0300




Компания KDAB объявила о разработке компонента Servo WebView для Qt, использующего браузерный движок Servo вместо модуля Qt WebEngine (на базе Chromium) для отображения web-контента в QML-приложениях. Предполагается, что проект поможет сократить поверхность атак на Qt-приложения, использующие API WebView, за счёт применения компонента, в котором благодаря языку Rust минимизировано возникновение уязвимостей, вызванных ошибками при работе с памятью. Код Servo WebView для Qt распространяется под лицензией MPL-2.0.





Для организации работы кода Servo, написанного на языке Rust, в окружении на языке C++ задействована прослойка CXX-Qt. CXX-Qt позволяет создавать компоненты на языке Rust, интегрируемые с программами на С++, использующими Qt. Применение CXX-Qt даёт возможность создавать подклассы QObject на Rust, которые могут использоваться в коде на C++, QML и JavaScript. Также имеется возможность создания Rust-программ, вызывающих код на С++, для чего предоставляются Rust-обвязки над типовыми классами QtCore и QtGui.




Проект Servo изначально развивался компанией Mozilla, но затем перешёл под покровительство организации Linux Foundation. Движок отличается поддержкой многопоточного рендеринга web-страниц, распараллеливанием операций с DOM (Document Object Model) и задействованием предоставляемых языком Rust механизмов безопасного программирования. Во время основания Servo браузерный движок Firefox не мог в полной мере задействовать потенциал современных многоядерных систем из-за использования однопоточных схем обработки контента. Servo изначально создан с поддержкой разбиения кода DOM и рендеринга на более мелкие подзадачи, которые могут выполняться параллельно и более эффективно использовать ресурсы многоядерных CPU. В Firefox уже интегрированы некоторые части Servo, такие как многопоточный CSS-движок и система отрисовки WebRender.



Из близких по тематике разработок также отмечается проект Tauri-Servo, развивающий бэкенд к библиотеке WRY на базе движка Servo, позволяющий использовать Servo в приложениях на основе фреймворка Tauri (конкурирующая с Electron платформа для создания пользовательских приложений с использованием браузерных технологий).

Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60961

Жизнь за Нер'зула!

Ответить