Выпуск фреймворка Qt 5.2 и среды разработки Qt Creator 3.0
После пяти месяцев разработки компания Digia представила релиз кроссплатформенного фреймворка Qt 5.2, продолжившего развитием ветки Qt 5.x и включающего ряд новых модулей. Кроме того, была проведена большая работа по оптимизации производительности и улучшению работы возможностей, представленных в в прошлых выпусках Qt 5. Дополнительно можно отметить план подготовки Qt 5.3, выпуск которого намечен на 29 апреля 2014 года. Выпуск Qt 5.3 в основном будет ориентирован не на развитии новых возможностей, а на повышение стабильности и производительности.
Ключевые новшества Qt 5.2:
Полнофункциональная поддержка платформ Android и iOS, позволяющая использовать Qt для разработки конечных мобильных приложений (в выпуске 5.1 поддержка Android и iOS носила экспериментальный характер и была ограничена по функциональности). Для указанных платформ доступны все модули Qt, за исключением WebKit. В том числе доступны модули Qt Core, Qt Network, Qt Gui, Qt Widgets, Qt Qml, Qt Quick и Qt Multimedia, а также дополнения Qt Sensors, Qt Graphical Effects, Qt Script и Qt SVG. Для Android дополнительно подготовлен модуль Qt Android Extras, содержащий расширения для поддержки особенностей данной платформы; По сравнению с прошлым выпуском в Qt 5.2 для Android добавлена поддержка камеры, захвата видео, проигрывания звука (QAudioInput, QAudioOutput, QSoundEffect), OpenSSL и JNI API. В состав включена утилита для развёртывания Android-приложений на устройстве. В версии для iOS добавлена поддержка медиапроигрывателя, базовая поддержка камеры и поддержка звука (QAudioInput, QAudioOutput, QSoundEffect).
Новые модули: Qt Bluetooth — функции для работы с Bluetooth. Поддерживается Linux (стек Bluez 4.x) и Blackberry Qt NFC — функции для работы с NFC. Поддерживается Blackberry; Qt Positioning — функции для получения информации о местоположении. Поддерживаются все платформы с использованием данных NMEA. Для Linux поддерживается GeoClue; Qt Windows Extras для задействования специфичных возможностей Windows; Qt Mac Extras для задействования специфичных возможностей OS X; Qt Android Extras для задействования специфичных возможностей Android. Qt3D не вошел в состав Qt 5.2, но доступен для тестирования в виде ознакомительной версии (tech preview). В Qt Core добавлена поддержка классов QTimezone и QCollator для корректной работы с часовыми поясами и сортировки с учётом настройки текущей локали. В Qt Network улучшена поддержка SSL. В Qt Widgets добавлен класс QKeySequenceEdit и внесено множество мелких улучшений; Интегрирован новый движок QML, который переведён на собственный встроенный JavaScript-движок и больше не зависит от движка V8. Следствием перехода на собственный встроенный JavaScript-движок стала поддержка Qt Quick 2 для платформы iOS, уменьшение размера QML-стека на 5 Мб и исключение необходимости поставки дополнительной разделяемой библиотеки. Кроме того, упрощено сопровождение стека QML и обеспечен задел для быстрого продвижения новшеств в будущем; В QML добавлена поддержка класса QFileSelector, позволяющего упростить кастомизацию QML-кода в зависимости от характеристик устройств и операционной системы; В Qt Quick добавлена новая реализация системы рендеринга сцены (scene graph renderer), которая потребляет заметно меньше ресурсов CPU и GPU; Добавлен новый тип операций Animator, позволяющий создавать анимацию, выполняемую полностью в нити рендеринга, без блокирования и прерывания основной нити выполнения приложения; В набор виджетов Qt Quick Controls добавлены индикаторы быстрого переключения и занятости, в виджет отображения таблиц добавлена поддержка перемещения колонок и расширенного выделения. Для всех настольных платформ обеспечена полнофункциональная поддержка средств для людей с ограниченными возможностями. Одновременно доступен релиз интегрированной среды разработки Qt Creator 3.0, входящей в состав базового пакета Qt 5.2. В новом выпуске появились начальные средства разработки для iOS, позволяющие собирать, устанавливать и выполнять Qt-приложения в симуляторе iOS и устройствах на базе iOS. Добавлена экспериментальная поддержка отладки приложений на любых устройствах. Для отладки в Qt Creator теперь достаточно запустить на устройстве gdb-совместимый отладчик. Кроме того, улучшена поддержка Android, добавлены дополнения для многомониторных конфигураций, проведена чистка API для разработки плагинов, появилась поддержка развиваемого проектом LLVM отладчика lldb.
Кроме того, можно отметить выпуск пятой альфа версии Qt for Tizen, варианта фреймворка Qt для мобильной платформы Tizen. Проект развивается независимым сообществом и нацелен на обеспечение возможности разработки мобильных приложений для платформы Tizen с использованием Qt Quick 2. В состав входит набор элементов интерфейса, позволяющих создавать приложения не отличимые по внешнему виду и поведению от родных приложений, созданных в Tizen SDK. В рамках проекта также развивается плагин для организации бесшовной разработки Qt-приложений для Tizen в интегрированной среде Qt Creator. Выпуск построен на кодовой базе кандидата в релизы Qt 5.2 и полностью совместим с платформой Tizen 2.2.1. Из наиболее заметных улучшений выделяется поддержка экранной клавиатуры, которая автоматически отображается при использовании таких элементов, как TextField.
© OpenNet