Первый предварительный выпуск 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 является одним из наиболее динамично развивающихся проектов.
Источники
править- Главная ссылка к новости (http://blog.qt.digia.com/blog/...) (Архивная копия от 9 августа 2014 на Wayback Machine)
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.