Qt переходит с WebKit на браузерный движок Blink и технологии Chromium

12 сентября 2013 года

Ларс Нол (Lars Knoll), создатель движка KHTML, руководитель проекта Qt Project и директор по развитию фреймворка Qt в компании Digia, представил Qt WebEngine, новый компонент для использования браузерного движка в Qt-приложениях. Qt WebEngine идёт на смену Qt WebKit и отличается переходом на кодовую базу проекта Blink, в рамках которого компания Google развивает форк движка WebKit.

Примечательно, что до основания форка проект Qt занимал третье место по вкладу в развитие WebKit (на первом месте был Google, на втором Apple). Присоединение Qt к развитию Blink, вслед за Adobe и Opera, меняет расстановку сил - существенное развитие WebKit остаётся только за компанией Apple. Отмечается, что решение о миграции Qt на Blink принято после досконального изучения особенностей обоих движков и учёта того, что WebKit изначально позиционируется как универсальный продукт, а Blink достаточно плотно завязан на технологии Chromium. В итоге, Blink отмечен как более перспективный проект, являющийся оптимальным выбором для Qt в долгосрочной перспективе.

Среди факторов, способствовавших принятию решения отмечаются:

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

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

Для использования преимуществ многопроцессной модели Blink, подразумевающей выполнение движка в отдельном изолированном процессе, разработчики Qt подготовили новый API QWebElement, который отличается от API Qt WebKit иной организацией встраивания QObject и использованием взаимодействия между QObject и web-страницей в асинхронном режиме. Первый выпуск Qt WebEngine войдёт в состав Qt 5.3, ожидаемого весной следующего года. Модуль Qt WebEngine будет поддерживаться для Windows, Mac OS X, Linux и встраиваемых платформ на базе Linux.

Поддержка старого API Qt WebKit будет сохранена для обеспечения совместимости и будет поддерживаться в ближайшие годы, но поддержка будет ограничена исправлением ошибок - функциональность старого движка обновляться не будет. После выпуска Qt 5.2 всё внимание будет уделено разработке Qt WebEngine. Для разработчиков приложений будут представлены средства для бесшовной миграции программ с Qt WebKit на Qt WebEngine, что позволит максимально упростить процесс перехода на новый API. При этом новый API в большинстве случаев будет повторять старый API, например, планируется на 100% сохранить совместимость элемента Qt Quick WebView. Правки потребуется вносить при встраивании QObject или при желании использовать специфичные возможности QWebElement API.

Источники

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

Комментарии

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