Новая версия Qt выпущена с поддержкой мобильных устройств.
Qt — это кроссплатформенное приложение и инфраструктура пользовательского интерфейса для разработчиков, использующих C ++ или QML, язык, подобный CSS и JavaScript. Он позволяет вам писать кроссплатформенные приложения, поэтому вы создаете единую базу кода с приложениями, которые хорошо работают на платформах, включая Windows, Mac OS X и Linux.
В новом выпуске добавлена поддержка разработки мобильных приложений для Android, iOS, BlackBerry, Sailfish / Jolla и Ubuntu Mobile.
Анонсируя новую версию в блоге Qt, Ларс Нолл сказал:
«С выпуском Qt 5.1 в июле мы продемонстрировали порты Qt для Android и iOS и положили начало некоторым серьезным улучшениям, которые мы сейчас сделали в графических возможностях Qt».
Преимущество новой мобильной поддержки состоит в том, что разработчики Qt теперь могут использовать свои существующие настольные или встроенные приложения и переносить их на мобильные телефоны или планшеты.
В этом видео показано, как начать работу с QT Mobile:
Также доступна техническая предварительная версия Qt для WinRT, и, поскольку она основана на ветви разработки Qt, она уже содержит некоторые новые функции, которые будут включены в Qt 5.3.
Хотя большинство Qt API поддерживаются в новой версии, Qt WebKit не поддерживается в этой версии на Android и не будет доступен для iOS из-за политик App Store. Осознавая этот недостаток, команда Qt Digia работает над альтернативным способом встраивания веб-контента через Qt API в Android и iOS в будущих версиях. Qt Bluetooth и Qt NFC также еще не поддерживаются и будут реализованы в следующем выпуске.
Хотя мобильная поддержка является основным улучшением, работа была проделана и в других областях. С момента выпуска Qt 5.1.1 было исправлено более 1500 ошибок, а настольные платформы были улучшены. Qt Quick Controls для рабочего стола были улучшены, поэтому стало проще интегрировать Qt Quick в традиционные приложения на основе QWidget, а также стало проще иметь дело с настраиваемыми пользователем привязками клавиш благодаря добавлению нового класса QKeySequenceEdit QWidget.
Разработчики, ориентированные на платформы Windows и Mac, могут использовать дополнительные модули, которые позволяют интегрироваться с собственным кодом на Windows и Mac. Улучшена поддержка часового пояса и локали с QTimeZone и QCollator, а для Linux поддерживается Bluetooth с модулем Qt Bluetooth.
В сообщении блога объясняется, что кое-что изменилось и под капотом. В частности, модуль QML имеет новый движок, который устраняет зависимость от движка V8 JavaScript. Новый движок поддерживает интерпретируемый режим, поэтому может работать на архитектурах ЦП, где JIT недоступен, или на таких платформах, как iOS, где JIT не разрешен политиками App Store.
Qt Quick, технологии, которые позволяют вам взаимодействовать с пользовательскими интерфейсами на таких устройствах, как мобильные телефоны, телевизионные приставки и другие портативные устройства, также были улучшены за счет более быстрого рендеринга, который высвобождает больше процессорного времени для самого приложения. Существует также новый тип анимации под названием Animator, который позволяет запускать многие анимации полностью в потоке рендеринга, избегая их блокировки, даже если основной поток сильно загружен.
Qt WebKit также получил серьезное обновление, основанное на версии WebKit, выпущенной этим летом. Это включает в себя множество новых функций, таких как CSS Blending, Geolocation, Web Notifications и поточный сборщик мусора.