[Перевод] Релиз Qt 5.4 и Qt Creator 3.3

Примечание переводчика: в оригинале очень много маркетинговых оборотов, и, похоже какой-то SEO в тексте. Я постарался местами убирать лишние повторы слова «Qt», но текст всё равно слегка слащав.Про релиз Qt Creator 3.3 перевод.Я рад сообщить, что Qt 5.4 выпущен сегодня (10 декабря) и уже доступен для скачивания с qt.io. Вместе с Qt 5.4, мы также выпускаем Qt Creator 3.3 и обновление для Qt для создания устройств под управлением встроенными Linux или Android.

Но сперва давайте о Qt 5.4. Один из главных акцентов, которые я бы хотел сделать на релезе — это Web-технологии, и мы можем показать вам много клевых штук.

Обновленная история Web

HTML5 и Web-технологии становились все важней последние годы, и мы провели последний год, разрабатывая новые возможности веба для Qt. Модуль Qt WebEngine результат достаточно долгого исследовательского проекта, в котором при «подружили вместе» движок Chromium и Qt. C Qt 5.4, он полностью поддерживатся на всех дестопных и встраиваемых платформах. Qt WebEngine дает вам легкий для использования API, чтобы встроить веб-содержимое как в приложениях на Qt Widgets, так и на Qt Quick.

Новый модуль Qt WebChannel дает простую связку между QML/C++ и HTML/Javascript. Что это значит? Это — гибридные приложения, которые использую как веб-технологии, так и возможности Qt. Обмен между обоими сторонами возможен благодаря использованию QObject-объектов в контексте выполнения Web-приложения. Это будет работать не только Qt WebEngine, но и с любым другим движком с поддержкой веб-сокетов (Websockets).

Третья вещь, о которой хочется сказать, это технологическое превью модуля Qt WebView. Этот модуль предоставляет более ограниченный API для встраивания нативного в ОС браузера, для тех случаев, когда не нужны все возможности Qt WebEngine, или когда это нельзя по причине ограничения самой платформы. В Qt 5.4 он будет поддерживать iOS и Android.

Вместе с Qt WebSockets, у нас теперь есть поддержка многих веб-технологий, которые позволяют легко взаимодействовать с контентом. Встраивание HTML5 в WebEngine и WebView, и WebSockets для легкого «общения» между Qt и вебом.

Qt Webkit остается в 5.4 по-прежнему и продолжает поддерживаться. Этот модуль признан готовым и стабильным, так что новой функциональности не ждите. Когда-нибудь мы объявим его устаревшим (deprecated). Рекомендуем переходить на WebEngine, ибо это достаточно просто. Так же, очевидно, лучше выбрать последний для новых проектов.

Qt для WinRT | завершение кросс-платформенности

Вторая группа новых возможностей релиза 5.4 это завершение поддержки основных платформ вместе с полноценной поддержкой Windows Runtime. Она уже была в бете Qt 5.3, но теперь она приблизилась к полноценной. Можно создавать приложения для Windows Store; в качестве целевой ОС можно выбрать либо Windows Phone 8.1+, либо Windows 8.1+.Надеемся, что с этим портом вы заметите, что мы поддерживаем все актуальные десктопные, встраиваемые и мобильные ОС.

Обновления графики

В Qt 5.4 есть и другие улучшение. Например, посмотрите на графику. Мы предоставили теперь лучшую поддержку дисплеев высокого разрешения для десктопных платформ. Пока поддержку можно назвать лишь экспериментальной, так что что если есть желание, загляните в обзоры в документации.

OpenGL под Windows имел острые углы, поскольку приходилось учитывать случаи, когда нет хороших драйверов. Чтобы эту проблему решить, теперь есть возможность динамически выбирать реализацию OpenGL во время запуска приложения. Qt выбирает между OpenGL драйвером (нативным), реализацией ANGLE (который транслирует в DirectX) или даже софтверным рендерингом.

Qt Data Visualization обновлен до версии 1.2, теперь включает такие штуки, как объемный рендер и поддержка текстур для графов глубин, а также улучшена производительность. Qt Charts обновлен до 2.0, вместе с лучшей модульностью и бинарными пакетами.

Другие улучшения по части графики это новый класс QOpenGLWidget, который идет на замену QGLWidget из Qt 4, и позволяет объявить устаревшим весь Qt OpenGL модуль целиком (у него классы начинаются с QGL* — прим. пер.). QOpenGLContext теперь может использовать и существующие нативные контексты. Вы можете использовать QQuickRenderControl чтобы отображать сцены Qt Quick в offscreen-буфере.

И, наконец, в 5.4 есть тех-превью нового модуля Canvas3D, который предоставляет API наподобие WebGL, но для Qt Quick.

Другие возможности

Рассмотрим и другие новые штуки, пришедшие вместе с Qt 5.4.

Qt поддерживает Bluetooth Low Energy под Linux используя BlueZ. Поддержку других платформ ждите в следующих релизах Qt. Bluetooth LE позволяет связываться с многими современными Bluetooth-устройствами вроде умных часов.

Под Android теперь есть нативно выглядящие Qt Quick Controls; также мы сделали меньшие по размеру деплой-пакеты и ускорили время запуска. Для iOS и Mac OS X, мы включили поддержку последних версий ОС, поддержку XCode 6 и нового способа подписи приложения для App Store. Также практически все проблемы со стилями для Mac OS X 10.10 исправлены.

В модуль Qt Qml добавлена поддержка Qt State Machines (можно использовать новый «QtQml.StateMachine»-импорт), а QtCore получил новый класс QStorageInfo который выводит информацию по дискам и разделам.

В Quick Controls мы добавили новый «плоский (flat) стиль», доступный для всех платформ.

В Qt 5.4 помимо этого, включена новая версия IDE Qt Creator 3.3. Для подробностей — читайте отдельный пост.

Qt для создания устройств (встраиваемых)

Сегодня мы представляем новую версию средства для создания устройств. Что в него включено:

Предварительная поддержка для запуска приложений Qt под Wayland используя композитор Weston на i.MX6-устройствах, включая поддержку видео и Qt WebEngine.

Мы добавили модуль «B2Qt Utils» (boot 2 qt, видимо), который дает простой доступ к настройкам устройства, вроде подсветки дисплея, сетевого имени или состояния заряда как со стороны С++, так и QML. Модуль B2Qt Wi-Fi официально поддерживается и позволяет легко настроить беспроводную сеть.

Список прочих улучшений:

-Обновление плагина eAndroid Qt Multimedia. Реализация Qt Multimedia для Android отрефакторена, код чище и дальше будет легче поддерживать;-SD Card Flashing Wizard для создания образов b2qt;-Улучшения в BYOS (Build Your Own Stack);-eLinux: поддержка камеры для i.MX6-устройств.

Мы также добавили новую аппаратные платформы, включая low-end-профиль для лишенного GPU Freescale Vybrid. Остальные референсные платформы могут быть найдены в документации.

Qt Quick без OpenGL

Другая классная вещь для встраиваемых решения это новый модуль рендера 2D в Qt Quick. Это новый коммерческий аддон позволяет использовать Qt Quick там, где нет аппаратного ускорения OpenGL, используя софтверный рендер либо аппаратное 2D ускорение (вроде DirectFB или Direct2D). Поддерживается почти все, кроме частиц и OpenGL шейдеров.

Переход на LGPL v3

Как и обещалось ранее, опенсорсная версия для 5.4 также доступна под лицензией LGPLv3. Новая опция лицензирования позволяет Qt Company представлять новые компоненты для целой экосистемы Qt без компромиссов для бизнеса. Помимо этого, свобода других разработчиков будет защищена от тивоизации (или lock-down).

Некоторые модули, правда, доступны ТОЛЬКО под GPL/LGPLv3 или коммерческой лицензиями — WebEngine, WebView и Canvas 3D.

Спасибо сообществу Qt

Но все это мы не смогли бы сделать без той огромной поддержки сообщества — людей и компаний, которые вкладывались в развитие Qt, не получая за это деньги. Всем спасибо! Попробуйте Qt 5.4, www.qt.io/download

Про релиз Qt Creator 3.3 перевод.

© Habrahabr.ru