- PVSM.RU - https://www.pvsm.ru -

Qt 5 для Android: превью

Qt 5 для Android: превью

Первый коммит “Android mkspecs and semaphore” в стремлении портировать Qt 4 на Android был совершен на Рождество 2009 года румынским разработчиком BogDan Vatra [1].

22 января 2010 года он закоммитил “A small step for Qt, a giant leap for android” с работающим плагином графической системы и возможностью запуска приложений на реальных Android-устройствах. Чтобы отпраздновать это событие, он выложил видео [2] с демонстрацией работы.

20 февраля 2011 года он объявил [3] о первом пригодном для разработки релизе Qt 4 для Android под названием Necessitas [4].

В течение последних 4 лет BogDan, при поддержке таких же, как он, энтузиастов, продолжает разрабатывать Necessitas в свободное от работы время.

8 ноября прошлого года BogDan согласился с добавлением результата его трудов в Qt 5 и передачей порта в Qt Project [5].

4 января он отправил первую версию Qt 5 для Android в WIP-бранч (Work In Progress), а недавно мы интегрировали её в «dev» бранч, что означает, что этот проект станет частью версии Qt 5.1, когда она будет выпущена.

В этой предварительной версии мы сфокусировались на опыте разработчиков, чтобы вы могли легко запускать и тестировать свои приложения на Android-устройствах. И хотя ничто не мешает вам распространять приложения с Qt 5.1 через app store, мы рекомендуем не делать этого и дождаться релиза Qt 5.2, потому что мы хотим улучшить поддержку ещё больше: внести дополнительные возможности для развёртывания приложений, добавить изысканности в целом, улучшить поддержку Android API, позволив расширить ваше приложение Java-кодом или сопоставленным ему C++ API.

Для начала, вот видео с приложением Qt 5 Cinematic Experience [6], запущенным на (слева направо): Nexus 4, Asus Transformer Pad TF300T и Nexus 7. Это приложение стало нашим любимым для представления на различных мероприятиях, так как отлично демонстрирует новые графические возможности Qt Quick 2: шейдерные эффекты, системы частиц, новые PathAnimation, а также низкоуровневое аппаратное ускорение SceneGraph, что позволяет всему этому работать с частотой обновления 60 кадров в секунду.

В дополнение к основной части Qt, мы также подерживаем QML Media Player API в QtMultimedia [7]. Вот хороший видеоплеер, написанный Andy [8] на QML, с фрагментным шейдером поверх видео. Приложение запущено на Asus Transformer TF300:

Демонстрации мультитача: простой пример рисования рукой, запущенный на Nexus 4. Здесь также показана поддержка нативных меню:

Низшей поддерживаемой версией Android API является API уровня 10, который соотвествует версии Android 2.3.3. Это означает, что Qt-приложения могут работать на бюджетных устройствах, таких, как этот Huawei Y10:

Обзор того, что мы уже имеем:

  • Поддержка создания Qt Widgets и Qt Quick приложений, которые работают на устройствах под управлением Android.
  • Поддержка Android API уровня 10 (версия 2.3.3) и выше.
  • Поддержка QML медиа-плеерной функциональности в QtMultimedia.
  • Множество наиболее часто используемых датчиков в QtSensors.
  • Конечно же, кроссплатформенные возможности Qt (в том числе Qt Quick controls и QtGraphicalEffects).
  • Разработка и настройка приложений в Qt Creator 2.7.
  • Развёртывание тестовых сборок на устройство непосредственно из Qt Creator.

Кроме того, в ближайшее время мы планируем реализовать поддержку распространения библиотек Qt через Ministro, что позволит использовать один и тот же набор библиотек Qt в разных приложениях на одном устройстве; это будет основным способом развёртывания приложений Qt 5.1. Текущий статус поддержки вы всегда можете посмотреть на нашей вики [9]. Дайте нам знать, если что-то пойдёт не так. Обычно нас можно найти на канале #necessitas Freenode IRC.

Вы спросите, что дальше? На самом деле, вы можете помочь нам решить это, сообщая о багах и предлагая новые функции [10], а также внося свой код [11]. Мы постоянно работаем над улучшением Qt 5 для Android и из ваших отзывов можно извлечь много пользы. В вики [9] мы собираем список проверенных устройств. Мы будем признательны, если вы уделите время и добавите в список протестированные вами устройства (а также укажете любые неполадки, найденные вами).

И наконец: большое спасибо BogDan Vatra, Ray Donnelly и всем остальным, кто внёс свой вклад в проект Necessitas за последние годы и в проект Qt 5 для Android в последние месяцы. И спасибо всем, кто сделает вклад в будущем.

Автор: epicfailguy93

Источник [12]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/razrabotka/29369

Ссылки в тексте:

[1] BogDan Vatra: http://www.behindkde.org/bogdan-vatra-0

[2] видео: http://blip.tv/bogdan-vatra/qt-tooltips-example-on-android-3140576

[3] объявил: http://groups.google.com/d/msg/android-qt/IJ7e98XO7Io/_ti9asJPEsAJ

[4] Necessitas: http://necessitas.kde.org/news.php

[5] передачей порта в Qt Project: http://blog.qt.digia.com/blog/2012/11/08/necessitas-android-port-contributed-to-the-qt-project/

[6] Qt 5 Cinematic Experience: http://quitcoding.com/?page=work#cinex

[7] QtMultimedia: http://qt-project.org/doc/qt-5.0/qtmultimedia/qmlmodule-qtmultimedia5-qtmultimedia-5-0.html

[8] Andy: http://blog.qt.digia.com/blog/author/ashaw/

[9] вики: http://qt-project.org/wiki/Qt5ForAndroid

[10] сообщая о багах и предлагая новые функции: http://bugreports.qt-project.org/

[11] внося свой код: http://codereview.qt-project.org/

[12] Источник: http://habrahabr.ru/post/172639/