LINUX.ORG.RU

Официальный анонс Qt 5.1 для Android

 , ,


0

3

Вольный перевод новости от Digia.

Первый коммит на нелёгком пути к Qt на Android был сделан в католическое Рождество в 2009-м году: «Android mkspecs and semaphore», автор BogDan Vatra.

22 января 2010-го он закоммитил «A small step for Qt, a giant leap for Android» с работоспособным плагином для графической подсистемы и смог по-настоящему запустить Qt-приложения на устройстве с Android. Тогда же он загрузил видео в честь знаменательного события.

20 февраля 2011 был анонсирован первый пригодный к использованию выпуск Qt 4 для Android под именем Necessitas.

Спустя три с лишним года BogDan и другие продолжают разрабатывать Necessitas в свободное время, а 8 ноября 2012 года BogDan согласился передать свои труды проекту Qt Project и новой версии фреймворка — Qt 5.

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

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

Посмотрим на демонстрацию!

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

В дополнение к основным модулям Qt, также поддерживается QML API для медиаплеера в QtMultimedia. Вот отличный плеер, написанный Andy на QML, с эффектом, наложенным на видео с помощью фрагментного шейдера. Плеер запущен на Asus Transformer TF300.

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

Минимальный API, поддерживаемый в Qt 5 — 10, которому соответствует Android 2.3.3 («Gingerbread»). Это означает, что приложения также могут запускаться на бюджетных устройствах со старой версией Android, таких как Huawei Y100.

Обзор достигнутого:

  • поддержка создания приложений на основе Qt Widgets и Qt Quick, способных запуститься на устройствах с Android;
  • поддержка Android API 10 (Android 2.3.3) и выше;
  • программный интерфейс QML для медиаплеера, использующий Qt Multimedia;
  • набор наиболее часто используемых сенсоров в QtSensors;
  • разумеется, кроссплатформенность от Qt (включающая контролы Qt Quick и Qt Graphical Effects);
  • разработка и настройка свойств приложений в Qt Creator 2.7;
  • развёртывание тестовой сборки на устройстве прямо из Qt Creator.

В дополнение к достигнутому, в скором времени планируется добавить возможность распространения библиотек Qt с помощью сервиса Ministro, который позволит использовать один набор библиотек Qt на устройстве одновременно несколькими приложениями. Ministro станет основным способом распространения приложений в Qt 5.1. Кстати, способ уже доступен: инструкцию к нему читайте на wiki. Если что-то пойдёт совсем неправильно — нас можно найти на канале #necessitas во freenode.

Спросите, что дальше? Многое зависит от вас! Можно сообщать об ошибках и открывать фич-реквесты либо отправлять патчи. Мы будем непрерывно работать над улучшением Qt 5 для Android и процесс может идти гораздо быстрее за счёт ваших отзывов. На той же wiki мы собираем список устройств, на которых был подтверждён запуск Qt. Ваши усилия по тестированию и добавлению новых устройств в этот список (а также отчёт о замеченных при этом проблемах) будут неоценимы :)

В завершение, огромное спасибо BogDan Vatra, Ray Donelly и всем остальным, кто улучшал проект Necessitas все эти годы и Qt 5 для Android за последние несколько месяцев. И заранее благодарим всех, кто поможет проекту в будущем.

>>> Подробности

★★★★

Проверено: post-factum ()
Последнее исправление: post-factum (всего исправлений: 7)

Ответ на: комментарий от quiet_readonly

Негодное сравнение веса библиотеки с дебажной инфы и без нее. Наверное стоит сказать просто - стрипнутая QtCore весит 3метра и там, и там.

anonymous
()

Java место только на серверах, а на мобильных устройствах правильнее было бы использовать нативный машинный код. Стремление прикостылить к тормозному Android биндинги для Qt выглядит не как достижение, а как торжество маразма над здравым смыслом.

m0rph ★★★★★
()
Ответ на: комментарий от unfo

Серебряной пули нет.

У меня на кармане «какбэ золотая» есть. Флешка в виде пули. Combobreaker для подопытных пионеров, когда они не в тему мажутся «серебряной пулей», при попытке увильнуть от переделывания НЕХ под стандарты кодирования на проекте или должной отладки в страшном gdb внезапных падений того, что они оказывается ваяли в гномском блокноте, ниасилив настроенный специально обученными людьми Eclipse :)

slackwarrior ★★★★★
()
Последнее исправление: slackwarrior (всего исправлений: 1)
Ответ на: комментарий от m0rph

Люди доброй воли на стороне бабладобра всегда побеждают здравый смысл :)

slackwarrior ★★★★★
()
Ответ на: комментарий от slackwarrior

Правильно, пионеров надо воспитывать, без этого никуда :)

unfo ★★★★★
()
Ответ на: комментарий от alex-w

GPS поддерживается уже хрен знает сколько лет еще с Qt4 (QtMobility).

Symbian != Android

unfo ★★★★★
()
Ответ на: комментарий от m0rph

на мобильных устройствах правильнее было бы использовать нативный машинный код

+1.
«многоплатформенность» - просто гнилая отмазка тех, кому лень/жадно разрабатывать правильно расслоёные приложения, где «платформозависимость» - 1%, переписываемый студентами за неделю под любой девайс.

matumba ★★★★★
()
Ответ на: комментарий от zz

Ну видим стесняются говорить, что летоисчисление ведётся от Обрезания Христова.

Но факт остаётся фактом, что некоторые православные церкви живут не по общепринятому в светском мире григорианскому, по менее точному юлианскому календарю. То есть, они считают, что, напримрер, сегодня 2 марта.

Ttt ☆☆☆☆☆
()

теперь в кути креаторе будем рисовать приложения для мобилок? Круто! Ждем 5.2

r0ck3r ★★★★★
()
Ответ на: комментарий от m0rph

Java место только на серверах, а на мобильных устройствах правильнее было бы использовать нативный машинный код. Стремление прикостылить к тормозному Android биндинги для Qt выглядит не как достижение, а как торжество маразма над здравым смыслом.

мужик, ты только что выразил мою мыслю правильными словами...

anonymous
()

Пора бежать за андроидофоном. Ураа~~!

Suiseiseki
()
Ответ на: комментарий от anonymous

Что не так с андройдом и явой? Вы видели как тормозит айфон в сравнении с дешевым андройд девайсом и сколько надо прикладывать усилий, чтобы оно не тормозило? Нет сейчас ничего на рынке в техническом плане лучше Андройда, нееету!

anonymous
()

возможность распространения библиотек Qt с помощью сервиса Ministro, который позволит использовать один набор библиотек Qt на устройстве одновременно несколькими приложениями

Опять разделяемые библиотеки? Только не это!!! Ведь невозможно будет пользоваться, разным программам нужны будут разные версии библиотек, а тут на тебе - жри что дают как в обычном лялихе.

Xintrea ★★★★★
()
Ответ на: комментарий от anonymous

ну у меня, например, galaxy SIII. есть пдф, который EbookDroid пролистывает крайне медленно, зато айфон 3s листает его практически как текстовик. А это даже не «дешевым андройд девайсом», это разные поколения. Да и не только читалки сливают, если честно.

anonymous
()
Ответ на: комментарий от anonymous

Потому-что их под гейфон затачивают. А под Андройд - нет. Берут топовый галакси и типа, «и так сойдёт».

anonymous
()
Ответ на: комментарий от HazardousNaN

анахрена? чтоб все загибалось в страшных корчах? Вы видима не понимаете весь масштаб трагедии этого биндинга.

// ked destruct

anonymous
()

А при чем здесь чье-то рождество? Какое отношение праздник каких-то верунов имеет к коммиту? Нельзя было просто дату написать? Я вот не знаю когда у католиков рождество, да и плевать я хотел, а вот знать, когда был первый коммит мне хочется. -20 афтару за религию в новости.

BruteForce ★★★
()

Хм. Было достаточно много проектов или на основе Qt или портов Qt. Все они, так или иначе мертвы... Qt портировали на симбиан и симбиан рипнулся, теперь порт на андроид.

anonymous
()
Ответ на: комментарий от Bioreactor

Странно вы сравниваете фреймворк с языком программирования )))

Надо бы сравнить C++ и java

yanka ★★
()
Ответ на: комментарий от mittorn

Бюджетные с 1.5 вообще-то

Мой GT-S5660 шел с 2.2, офф обновление до 2.3.6. Сейчас стоит 4.2.2 (работает абсолютно все).

Сейчас смотрю в магазине телефон за $ 97 с 2.3 Куда бюджетние???

DenisPA ★★
()
Последнее исправление: DenisPA (всего исправлений: 1)
Ответ на: комментарий от anonymous

Что же все java и js путаете)) Рантайм в облаке на ruby и гуи на js + html - все верно :)

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от Ttt

некоторые православные церкви живут не по общепринятому в светском мире григорианскому

В данном случае фраза про католическое рождество - вообще позорный бред переводчика. Богдан живет в Румынии, а там рождество празднуют в декабре, хоть и православные.

anonymous
()
Ответ на: комментарий от m0rph

Java место только на серверах, а на мобильных устройствах правильнее было бы использовать нативный машинный код.

Java удобнее С и С++.

PolarFox ★★★★★
()
Ответ на: комментарий от m0rph

Java место только на серверах, а на мобильных устройствах правильнее было бы использовать нативный машинный код.
... Qt

Symbian? Ох и глючная была поделка...

anonymous
()
Ответ на: комментарий от PolarFox

Java удобнее С и С++.

Зато прожорливее и тормознее. Такому не место на мобильных устройствах, ограниченных в вычислительной мощности и энергообеспечении.

m0rph ★★★★★
()
Ответ на: комментарий от anonymous

Symbian? Ох и глючная была поделка...

MeeGo или чего-нибудь совершенно новое.

m0rph ★★★★★
()
Ответ на: комментарий от m0rph

Зато прожорливее и тормознее.

Ну и что? Сколько команд успеет выполнить процессор, пока к мозгу человека придёт сигнал о том, что его палец таки ткнул в кнопку? Вполне дофига. Если андроид тормозит, то не потому что жаба, а из-за просчётов в архитектуре.

Такому не место на мобильных устройствах, ограниченных в вычислительной мощности и энергообеспечении.

Нынешние телефоны мощнее моего недобука, не вижу поводов для создания неудобств программисту ради отклика в 0.001с вместо 0.01с.

PolarFox ★★★★★
()
Ответ на: комментарий от DenisPA

Конечно есть дешевые, но я не хочу покупать за 50-100$ то, что через пару недель сдавать в ремонт. На самсунги не обращал внимания, там оказывается дела сейчас получше. Раньше что-то дорогие все были относительно.

mittorn ★★★★★
()
Ответ на: комментарий от PolarFox

Ну и что? Сколько команд успеет выполнить процессор, пока к мозгу человека придёт сигнал о том, что его палец таки ткнул в кнопку?

А какой процент заряда аккумулятора можно было бы сэкономить, если не нагружать процессор выполнением лишних операций? Гонять сборщик мусора, профайлер и кодогенератор ради окошка с парой кнопок только потому, что много «программистов» не осиливает ручное управление памятью - это идиотизм.

Нынешние телефоны мощнее моего недобука

И поэтому надо нагрузить аппарат даже каким-нибудь калькулятором?

не вижу поводов для создания неудобств программисту ради отклика в 0.001с вместо 0.01с.

Сейчас в google play есть кучи виртуальных музыкальных инструментов, которые не юзабельны в принципе как раз из-за минимального отклика в 100 мс. Хотя это конечно баловство.

m0rph ★★★★★
()
Ответ на: комментарий от PolarFox

Отклик в 0.01с это уже жестокие тупняки при скроллинге, отклик должен быть 0.02с, на крайняк 0.03с чтобы его не замечать и то, тут вполне срабатывает теорема Котельникова.

Gorthauer ★★★★★
()
Ответ на: комментарий от Gorthauer

Что? 0.01с == 10 мс (или 100 фпс). И рендеринг/скроллинг должен выполняться в отдельном треде с рилтайм приоритетом и на GPU.

PolarFox ★★★★★
()
Последнее исправление: PolarFox (всего исправлений: 1)
Ответ на: комментарий от m0rph

А какой процент заряда аккумулятора можно было бы сэкономить, если не нагружать процессор выполнением лишних операций?

Выбирай. Или сутки автономной работы, или программы по цене не меньше 50 usd, которые время от времени сегфолтятся и невозбранно текут и также разряжают аккумулятор за сутки.

Сейчас в google play есть кучи виртуальных музыкальных инструментов, которые не юзабельны в принципе как раз из-за минимального отклика в 100 мс. Хотя это конечно баловство.

0.01с это 10 мс, для простого музыкального софта бы хватило. Отклик в 0.1с — это уже что-то странное даже для андроида, наверное авторы приложений скриворучили.

PolarFox ★★★★★
()

Всё правильно Марк делает, переводя Unity на QT.

Vudod ★★★★★
()
Ответ на: комментарий от mittorn

На самсунги не обращал внимания, там оказывается дела сейчас получше. Раньше что-то дорогие все были относительно.

Я больше никогда не куплю телефон самсунг :) а вот мониторы у них хорошие. (тот, что мне попал: звук отстойный как не крути (а как ни странно с родной гарнитурой вообще ад, не говоря про качество последней...); обновления не выпускаются меньше чем через пол года после выхода аппарата, хотя как показал цианоген - спокойно можно ставить на него самый последний андроид).

DenisPA ★★
()
Последнее исправление: DenisPA (всего исправлений: 2)
Ответ на: комментарий от wstorm

они все еще гальванизируют сей трупп?

anonymous
()
Ответ на: комментарий от PolarFox

Удобство программиста это, конечно, хорошо, но если в результате всегда получается какое-то говно, то инструмент фейловый.

anonymous
()
Ответ на: комментарий от unfo

Чем NDK не устраивает?

Тем, что это всего лишь три буквы, которые написаны на заборе. NDK не предлагает вменяемого API для замены (или частичной подмены) графических и UI-компонент dalvik. Цели разработки NDK были совершенно иными. NDK разрабатывался для поддержки c|c++ бекендов. Qt требует замены фронтенда. Поэтому, кэгэбычно, сплошные костыли и мешанина инициирующего dalvik кода и нейтивного.

aegor
()
Ответ на: Чем NDK не устраивает? от aegor

NDK разрабатывался для поддержки c|c++ бекендов. Qt требует замены фронтенда. Поэтому, кэгэбычно, сплошные костыли и мешанина инициирующего dalvik кода и нейтивного.

Полностью согласен. Не думаю, что API Qt, которое дергает java-функции дальвика, будет работать стабильно, надежно и быстро.

unfo ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.