После шести месяцев разработки представлен (http://blog.qt.digia.com/blog/2014/12/10/qt-5-4-released/) релиз кроссплатформенного фреймворка Qt 5.4, продолжившего развитием ветки Qt 5.x. Выпуск примечателен изменением схемы лицензирования, начиная с Qt 5.4 почти все модули распространяются (http://www.opennet.dev/opennews/art.shtml?num=40415) под лицензией LGPLv3, в дополнение к LGPLv2.1, GPLv3 и коммерческой лицензии. Qt WebEngine, Qt Canvas3D, Qt WebView и Qt Quick Controls для Android поставляются только под LGPLv3, GPLv2 и коммерческой лицензией.Основные новшества (http://qt-project.org/wiki/New-Features-in-Qt-5.4):
- В состав включён модуль QtWayland с реализацией (http://blog.rburchell.com/2014/09/wayland-and-qt-54.html) компонентов для работы Qt-приложений в окружении композитного сервера Weston, развиваемого проектом Wayland;
- Интегрирован компонент Qt WebEngine (http://qt-project.org/wiki/QtWebEngine), пришедший на смену Qt WebKit. Qt WebEngine позволяет задействовать браузерный движок в Qt-приложениях и отличается (http://www.opennet.dev/opennews/art.shtml?num=38916) переходом на кодовую базу проекта Blink (http://www.opennet.dev/opennews/art.shtml?num=36581), в рамках которого компания Google развивает форк движка WebKit (http://webkit.org/). Поддержка Qt WebKit пока сохранена для обеспечения обратной совместимости, но данная подсистема больше не развивается и в скором времени будет исключена из состава Qt. Состояние Qt WebEngine в Qt 5.4 соответствует кодовой базе Chromium 37. Благодаря обеспечению возможности прямого вывода текстур Chromium в графические сцены OpenGL в Qt Quick, движок Qt WebEngine демонстрирует прекрасную производительность вывода активного графического web-контента (например, WebGL).
- Добавлен модуль Qt WebChannel, обеспечивающий интеграцию кода на QML/C++ с компонентами на HTML/JavaScript. В том числе Qt WebChannel может быть применён для задействования функциональности QObject в коде на JavaScript, выполняемом с использованием Qt WebKit или Qt WebEngine.
- Полноценная поддержка платформы WinRT. В качестве минимально поддерживаемой версии заявлен WindowsPhone 8.1, что дало возможность исключить из числа зависимостей ранее применяемый компилятор D3D и существенно упростить развёртывание приложений на устройствах. Большинство модулей Qt поддерживают работу на WinRT, что открывает двери для адаптации существующих приложений для работы на смартфонах, планшетах и ПК c интерфейсом Metro.
- Добавлен виджет QOpenGLWidget, который заменил собой QGLWidget и дополнил представленный в прошлом выпуске виджет QQuickWidget,
позволяющий бесшовно интегрировать части пользовательского интерфейса, созданные с использованием Qt Quick, с приложениями на базе Qt Widget. Назначение QOpenGLWidget сводится к отображению контента OpenGL в приложениях на базе Qt Widget;
- Добавлен API QQuickRenderControl, обеспечивающий эффективный рендеринг сцен Qt Quick 2 в объектах с фреймбуфером. Сформированный контент может быть использован как в штатной системе OpenGL-отрисовки Qt, так и в сторонних системах OpenGL-отрисовки. Доступна также возможность инкапсуляции существующих контекстов OpenGL в QOpenGLContext, что позволяет встраивать Qt-контент для использования в других движках рендеринга.
- Добавлены классы QOpenGLWindow для отрисовки OpenGL в QWindow и QRasterWindow для отрисовки через QPainter в QWindow;
- Обеспечена поддержка изображений с глубиной цветности в 10 битов на цветовой канал;
- Для платформы Windows во время запуска программ обеспечена возможность выбора движка ANGLE или OpenGL, без пересборки приложения. Поддерживается как использование opengl32.dll так и ANGLE-реализация OpenGL ES 2.0;
- В элементах Qt Quick реализована возможность использования стиля Android, при котором виджеты и элементы управления Qt ничем не отличаются от родных элементов интерфейса Android;
- В модуле Qt Bluetooth обеспечена поддержка Bluetooth-стека Bluez 5 и добавлена начальная поддержка спецификации Bluetooth Low Energy;
- Модуль QtWebEngine выделен в отдельный пакет;
- Модули Qt Location и Qt 3D не вошли в состав Qt 5.4.
Одновременно доступен (http://blog.qt.digia.com/blog/2014/12/10/qt-creator-3-3-0-re.../) новый значительный выпуск интегрированной среды разработки Qt Creator 3.3.0 (http://qt-project.org/downloads#qt-creator), предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается разработка как классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками. Исходный код Qt Creator распространяется под лицензиями LGPLv2.1 и LGPLv3.
<center><iframe width="640" height="360" src="//www.youtube.com/embed/8IatD3iq6yY?rel=0" frameborder="0" allowfullscreen></iframe></center>
URL: http://blog.qt.digia.com/blog/2014/12/10/qt-5-4-released/
Новость: http://www.opennet.dev/opennews/art.shtml?num=41233