Компания Digia объявила (http://blog.qt.digia.com/blog/2014/01/23/qt-webengine-techno.../) о начале тестирования первого предварительного выпуска Qt WebEngine (http://qt-project.org/wiki/QtWebEngine), идущего на смену Qt WebKit компонента для использования браузерного движка в Qt-приложениях. Qt WebEngine отличается переходом на кодовую базу проекта Blink (http://www.opennet.me/opennews/art.shtml?num=36581), в рамках которого компания Google развивает форк движка WebKit (http://webkit.org/). Qt WebEngine войдёт в состав Qt 5.3, выпуск которого намечен на 29 апреля 2014 года.
Главное отличие Blink (http://www.chromium.org/blink) от WebKit заключается в использовании другой многопроцессной архитектуры, изначально применяемой в проектах Chrome/Chromium и подразумевающей наличие отдельного диспетчера ресурсов для взаимодействия с другими модулями. Кроме того, в Blink ведётся большая работа по упрощению движка и очищению его от лишнего груза, такого как поддержка устаревших платформ, ограничивающих возможности по дальнейшему развитию и оптимизации.Для использования преимуществ многопроцессной модели Blink, подразумевающей выполнение движка в отдельном изолированном процессе, разработчики Qt подготовили новый API QWebElement, который отличается от API Qt WebKit иными методами встраивания QObject и организацией взаимодействия между QObject и web-страницей в асинхронном режиме. Новый API в большинстве случаев повторяет старый API, например, обеспечена совместимость элемента Qt Quick WebView, но требует внесения изменений в приложения при встраивании QObject или при желании использовать специфичные возможности QWebElement API. Для разработчиков приложений развиваются средства для бесшовной миграции программ с Qt WebKit на Qt WebEngine, что позволит максимально упростить процесс перехода на новый API.
Первый тестовый выпуск Qt WebEngine нацелен главным образом на поверку интеграции с Qt и Qt Quick. Доступный для загрузки (http://download.qt-project.org/development_releases/qt/qtweb.../) (git (https://qt.gitorious.org/qt-labs/qtwebengine/source/6fb392ee...:)) модуль Qt WebEngine поддерживает только Linux и Mac OS X, но в будущем также будет адаптирован для Windows и встраиваемых платформ на базе Android и Linux. Для Qt Quick и виджетов предоставлен предварительный API. В случае Qt Quick непосредственно интегрируемый с Qt Scene Graph и поэтому обеспечивающий более высокую производительность для активного web-контента. Widgets API главным образом сфокусирован на упрощении портирования с QtWebKit.<center><iframe width="640" height="360" src="//www.youtube.com/embed/elqmjspONk8?rel=0" frameborder="0" allowfullscreen></iframe></center>
Основные причины перехода с WebKit на Blink и технологии Chromium:- В разработке Chromium большое внимание уделяется кросс-платформенности, поддерживаются все основные настольные платформы и Android. В WebKit поддержка современных платформ отстаёт от Chromium;
- Многие возможности, требующие дополнительной доработки при использовании WebKit, доступны из коробки в Chromium. Например, Chromium упрощает использование наработок по адаптации продукта для разных платформ и операционных систем, без дополнительных Qt-специфичных надстроек работают мультимедийные возможности и WebRTC.
- При использовании Chromium упрощается интеграция с операционной системой, что позволяет сосредоточить внимание на развитии API и интеграции с Qt;- Разработка Chromium ведётся под очень серъёзным контролем в соответствии с высокими требованиями к качеству, что упрощает тестирование производных продуктов;
- Chromium позволяет обеспечить более качественную и высокопроизводительную интеграцию как с виджетами, так и с элементами сцены Qt Quick;
- Chromium является одним из наиболее динамично развивающихся проектов.
URL: http://blog.qt.digia.com/blog/2014/01/23/qt-webengine-techno.../
Новость: http://www.opennet.me/opennews/art.shtml?num=38916
а Blink только гугл развивает? А то обычно вендор лок, перевешивает все гипотетические плюсы.
Развивается сообществом.
Ну вообще-то Qt-Project являлись одним из крупнейших контрибуторов в вебкит, после эппла и гугла. После форкта гуглом вебкита, кутишники ушли вместе с ними.
При этом основным аргументом за переход являлась недостаточность у qt project ресурсов для развития WebKit в условиях ухода google. По факту, основным вкладом qt project в WebKit в последнее время была поддержка собственного кода в нем.
а для айфона когда будет? а то в qt5.2 я вебкита для айфона не нашел.
сложно писать кроссплатформенный софт (андроид -- айфон), когда компоненты поддерживаются выборочно
А ничего, что в червивеньком куча ограничений?
расскажите каких
и про ограничения в андроиде расскажите сразу
Нельзя в червивом другие браузерные движки пихать. С Андроидом в этом плане все хорошо.
но там есть вебкит для приложений, не?
Урезанный.
> Урезанный.Нетъ.
> а для айфона когда будет?Спрашивайте в iКлубах страны
> Спрашивайте в iКлубах страныне хожу
А на iПарады?
>Разработка Chromium ведётся под очень серъёзным контролем в соответствии с высокими требованиями к качествуChromium, мне нравится.., но там так все серьезно, что в свои сборки не могут включить api google key и настроенный setuid-sandbox... Уж молчу о проблемах, которые сейчас в новостях...
Жду перевода Konqueror из KDE 3.5.13 на Blink. Это единственный недостаток форка KDE3.
Этого не будет.
А обещали?
(Нет, правда интересно)
Наконец QupZilla перейдёт на новый движок.
Очень жаль.
что ты мудaк?
Хана. Теперь любая веб-обвязка в кедах будет жрать тысячи оперативы.
>поддержка устаревших платформ, ограничивающих возможности по дальнейшему развитию и оптимизации.Вот скажите, как
#if defined platform1
#elif defined platform2
#endif
Ограничивает развитие и оптимизацию platform1 ?
шшшшшш.. сейчас пятиминутка ненависти к apple и любви к google.. :-)Всем так нравится новый вендор-лок что все готовы себе его ставить :)
Кто будет поддерживать код внутри ифдефов ?
Заинтересованные люди. Он есть не просит. Даже если на него забьют на время, потом он сможет служить подсказкой для молодых портеров.Вот это просто грубость: https://codereview.chromium.org/23566006
> Он есть не просит.Как так - не просит? Код программы всегда меняется, где-то выбирают другую логику работы. И всё что с ней было связано приходится тоже обновлять.
Это если вокруг блоков в ifdef ничего не меняется. А вот если код вокруг переписывают, то внезапно оказывается, что весь этот кусок нафиг не нужен и непонятно к чему его теперь прилепить, а нужен другой, но никто его не желает писать так-как та же Солярка сейчас уже никому не нужна, а Hurd до сих пор не нужен, хоть и 23 года насчитал уже. Хочешь поддержку этих систем в Блинке? Ну так займись ею, а то кроме тебя, похоже, некому. Но и это ещё не всё. Для полноценной поддержки нужно, чтоб его в этим системах ещё и тестировали, а не просто собирали для них, а этим тоже кто-то должен заниматься. А некому. Как видишь код в ifdef-ах очень даже прожорливым оказывается.
Заначит ли это, что в браузерах перешедших на QtWebEngine будет поддержка mht?
Собрал, потыкался, работает заметно шустрее старого QtWebkit'а и даже шустрее Chromium'а