Итак, давайте посмотрим, что нового в этом релизе:
Поддержка новых платформ
Бета-версия Qt для Windows Runtime
Qt для Windows Runtime перешла в стадию поддерживаемой бета-версии, что означает возможность запуска приложений не только на Windows Phone, но и на планшетах и настольных компьютерах.
Это значит, что теперь вы можете использовать Qt на:
- Всех компьютерах и планшетах, работающих на Windows 8.1, где используется Modern UI
- ARM планшетах на WinRT, таких как Microsoft Surface
- Смартфонах на Windows Phone 8
Приложения, разработанные с использованием Qt могут быть добавлены в Windows (Phone) Store.
Инструменты для поддержки этой платформы уже интегрированы Qt Creator, что позволяет заливать программы напрямую на устройство. Узнать больше можно из видео по ссылке.
Официальная поддержка QNX 6.6 и QNX 6.5 SP1
Также добавлена официальная поддержка последней версии QNX Neutrino 6.6, однако доступна она только в платной версии Qt Enterprise.
Новые функции
QQuickWidget
Если раньше было строгое разделение между интерфейсами на Qt Widget и Qt Quick, и нужно было выбрать что-то одно, то теперь границы начинают стираться. С появлением класса QQuickWidget стало возможным встраивать компоненты Qt Quick в приложения, основанные на QWidget. Такой подход позволяет легко добавлять интерактивные элементы в традиционные приложения.
Компилятор Qt Quick
В платную версию Qt Enterprise добавлен компилятор Qt Quick, преобразующий соответствующие файлы в нативный код. Не удивительно, что такой прием позволяет значительно поднять производительность на платформах (iOS и WinRT), где не используется JIT. С другой стороны, из-за того, что парсинг интерфейсов происходит во время компиляции, удалось ускорить запуск приложений. Еще одной полезной особенностью такого подхода будет защита исходного кода, который сейчас находится внутри приложения в открытом виде.
Purchasing API
Добавлена поддержка in-app purchases — важнейшей функции в деле монетизации приложения. Для упрощения использования таких покупок в Qt приложениях было добавлено специализированное Purchasing API. Qt Purchasing API доступно только в платной Enterprise версии, на сегодня заявлена поддержка Android (Google Play) и iOS (App Store). В дальнейшем ожидается расширение поддерживаемых платформ, включая WinRT (Windows Store / Windows Phone Store), Mac App store. Еще одним направлением в будущем может стать поддержка встраивания рекламы.
Веб-сокеты и облака
В Qt 5.3 также добавлено API для работы с веб-сокетами, что позволяет использовать соответствующую технологию как из C++, так и из QML. Есть возможность создавать как клиентские, так и серверные приложения. Больше того, если задействовать Qt Cloud Services, можно легко развернуть, например, сервер рассылки push-уведомлений или организовать многопользовательскую среду. Больше информации можно найти на qtcloudservices.com.
Остальное
В Qt Quick Controls добавлен стандартный элемент календаря (Calendar), родные диалоговые окна и возможность кастомизации панели меню. Qt Positioning API теперь доступно на Android и iOS, а Qt Bluetooth API пока только на Android. Была проведена большая работа по расширению возможностей модуля Qt Print Support.
Послесловие
Очевидно, что бизнес-модель Digia не может быть такой же, как как во времена Nokia, ведь у них разные задачи и возможности. С каждым релизом это проявляется все ярче: с одной стороны очень интенсивно идет портирование фреймворка на новые платформы, с другой — все больше функций становятся доступны только в платной версии. Цена на нее, прямо скажем, совсем не демократична, за месяц подписки на разработку для мобильных платформ просят 150$, за все платформы — 400$. При этом минимальный срок подписки — 3 месяца. К сожалению, этот релиз не принес сколько-нибудь значимых изменений в плане разработки стандартных приложений для мобильных ОС, разве что Message dialog на Android стал выглядеть нативно, остальные всё ещё печальны.
Скачать свежий SDK можно здесь.
Обзор возможностей мобильной разработки на QML.
Полный чейнжлог.
Официальный пост в блоге Digia.
Автор: Zifix