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

Первый коммит “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 через 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/
Нажмите здесь для печати.