Первый предварительный выпуск Qt WebEngine, переведённый на браузерный движок Blink

23 января 2014 года

Компания Digia объявила (Архивная копия от 9 августа 2014 на Wayback Machine) о начале тестирования первого предварительного выпуска Qt WebEngine, компонента для использования браузерного движка в Qt-приложениях, идущего на смену Qt WebKit. Qt WebEngine отличается переходом на кодовую базу проекта Blink, в рамках которого компания Google развивает форк движка WebKit. Qt WebEngine войдёт в состав Qt 5.3, выпуск которого намечен на 29 апреля 2014 года.

Главное отличие Blink от WebKit заключается в использовании другой многопроцессной архитектуры, изначально применяемой в проектах Chrome/Chromium и подразумевающей наличие отдельного диспетчера ресурсов для взаимодействия с другими модулями. Кроме того, в Blink ведётся большая работа по упрощению движка и очищению его от лишнего груза, такого как поддержка устаревших платформ, ограничивающих возможности по дальнейшему развитию и оптимизации.

Для использования преимуществ многопроцессной модели Blink, подразумевающей выполнение движка в отдельном изолированном процессе, разработчики Qt подготовили новый вариант API, который отличается от API Qt WebKit иными методами встраивания QObject и организацией взаимодействия c web-страницей в асинхронном режиме. Новый API в большинстве случаев повторяет старый API, например, обеспечена совместимость элемента Qt Quick WebView, но требует внесения изменений в приложения при встраивании QObject или при желании использовать специфичные возможности QWebElement API.

Первый тестовый выпуск Qt WebEngine нацелен главным образом на проверку интеграции с Qt и Qt Quick. Для Qt Quick и виджетов предоставлен предварительный API, который пока не является стабильным и ещё будет дополняться. В случае Qt Quick, API непосредственно интегрируется с Qt Scene Graph и поэтому обеспечивает высокую производительность для активного web-контента (например, WebGL). Widgets API главным образом сфокусирован на упрощении портирования с QtWebKit. Доступный для загрузки ( git(недоступная ссылка)) модуль Qt WebEngine поддерживает только Linux и Mac OS X, но в будущем также будет адаптирован для Windows и встраиваемых платформ на базе Android и Linux.

Для разработчиков приложений планируется подготовить средства для упрощения миграции программ с Qt WebKit на Qt WebEngine. Для знакомства с Qt WebEngine в архив включено несколько рабочих примеров: QuickNanoBrowser - простой web-браузер, поддерживающий вкладки, и оптимально подходящий для оценки высокой производительности отрисовки WebGL-приложений, которой можно добиться за счёт интеграции с Qt Scene Graph; Browser - вариант оригинального демонстрационного браузера, показывающий технику портирования с QtWebKitWidgets на Qt WebEngine; FancyBrowser - демонстрирует средства взаимодействия с web-контентом, используя jQuery и асинхронный метод runJavaScript.

Основные причины перехода с WebKit на Blink и технологии Chromium:

  • В разработке Chromium большое внимание уделяется кросс-платформенности, поддерживаются все основные настольные платформы и Android. В WebKit поддержка современных платформ отстаёт от Chromium;
  • Многие возможности, требующие дополнительной доработки при использовании WebKit, доступны из коробки в Chromium. Например, Chromium упрощает использование наработок по адаптации продукта для разных платформ и операционных систем, без дополнительных Qt-специфичных надстроек работают мультимедийные возможности и WebRTC.
  • При использовании Chromium упрощается интеграция с операционной системой, что позволяет сосредоточить внимание на развитии API и интеграции с Qt;
  • Разработка Chromium ведётся под очень серьёзным контролем в соответствии с высокими требованиями к качеству, что упрощает тестирование производных продуктов;
  • Chromium позволяет обеспечить более качественную и высокопроизводительную интеграцию как с виджетами, так и с элементами сцены Qt Quick;
  • Chromium является одним из наиболее динамично развивающихся проектов.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Первый предварительный выпуск Qt WebEngine, переведённый на браузерный движок Blink», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.