Релиз фреймворка Qt 5.4 и среды разработки Qt Creator 3.3.0

После шести месяцев разработки представлен релиз кроссплатформенного фреймворка Qt 5.4, продолжившего развитием ветки Qt 5.x. Выпуск примечателен изменением схемы лицензирования, начиная с Qt 5.4 почти все модули распространяются под лицензией LGPLv3, в дополнение к LGPLv2.1, GPLv3 и коммерческой лицензии. Qt WebEngine, Qt Canvas3D, Qt WebView и Qt Quick Controls для Android поставляются только под LGPLv3, GPLv2 и коммерческой лицензией. Основные новшества:

В состав включён модуль QtWayland с реализацией компонентов для работы Qt-приложений в окружении композитного сервера Weston, развиваемого проектом Wayland; Интегрирован компонент Qt WebEngine, пришедший на смену Qt WebKit. Qt WebEngine позволяет задействовать браузерный движок в Qt-приложениях и отличается переходом на кодовую базу проекта Blink, в рамках которого компания Google развивает форк движка WebKit. Поддержка 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. Одновременно доступен новый значительный выпуск интегрированной среды разработки Qt Creator 3.3.0, предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается разработка как классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками. Исходный код Qt Creator распространяется под лицензиями LGPLv2.1 и LGPLv3.

Qt Creator 3.3 примечателен прекращением поддержки сборки с использованием Qt 4 (поддержка разработков проектов на Qt 4 сохранена), минимально необходимая для работы Qt Creator версия Qt 5.3.1. Из улучшений можно отметить поддержку системы сборки Gradle при разработке для платформы Android, встроенная поддержка проектов CMake, возможность использования Qt Quick Compiler для QML-проектов на основе Qmake. Для коммерческих редакций представлена экспериментальная поддержка нового режима Analyze, основанного на использовании статического анализатора кода Clang. В QML Profiler существенно улучшена обработки и визуализация событий отрисовки (scene graph), в отдельной категории добавлено отображение событий ввода. В Qt Quick Designer реализована возможность прямого редактирования TabViews.

© OpenNet