LINUX.ORG.RU

Qt4 на Android (necessitas - 0.3)

 ,


0

1

не так давно порт Qt4 для андроида (Necessitas - http://sourceforge.net/p/necessitas/home/necessitas/) обновился до 0.3 версии (версия Qt - 4.8бета где-то).
Изменения внешне невелеки - но немало кода попереписано:
- обновилось само приложение загрузки Qt4 библиотек (Ministro, да ещё и иконку переделали :) теперь в Android Market два похожих приложения). И для сборки используе kde.org инфраструктура;
- сборки Qt уже идут для armv5 и armv7a(Cortex). х86 пока нет, но не думаю, что это будет проблемой;
- заработал OpenGL ES 1/2 (только в полноэкранном режиме - и, если я правильно понял переписку - то иначе и не будет до Qt5 - т.к. рендеринг UI элементов в OpenGL в 4.8 очень корявый) - на экране - Qt-шная демка на Motorola Milestone - немножко порванная - но это так захватил ddms (на эмуляторе не работает по-прежнему);
- QtMobility 1.2 - не всё работает пока (демка camera не пошла - похоже, из-за Multimedia), но большинство сенсоров и location заработали.

Резюмируя - текущее состояние значительно лучше, чем в начале года, но всё-ещё не готово для серъёзного практического использования. И да, ещё нет Qt-android стиля для GUI - а для многих конечных пользователей это может оказаться очень критично.

да, уже на скрине увидел, что загружены в память либы и для OpenGL ES1, и для ES2 - чего быть не должно по логике вещей (fallback с 2 на 1 не реализован в этой демке). погляжу потом, в чём дело.

>>> Просмотр (2041x1119, 220 Kb)

★★★

Проверено: JB ()

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

>>Вопросик: а компилить на андроиде можно?
такой задачи тут не ставилось - ибо arm не так хорош в компиляции по определению - но технически этому ничего не мешает (полный компилятор GCC в дебиан-арм имеется) - собрать компайлер сюда, поставить терминал - и вперёд!
и лучше - вероятно - это делать на многоядерных планшетах с большим экраном и клавиатурой (вроде asus TF101 transformer) :) либо на гуглТВ2 - которые на х86 архитектуре :)

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

>может armv6 все таки ?
перепроверил - именно armv5 - так, чтобы уже совсем всё работало;)
нижняя поддерживаемая граница - android-5 (это 2.0) - а там нет обязательного требования по armv7a (кажется - оно только для 4.0)

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

>>Сколько такие приложения весят и насколько производительны посравнению с Java GUI?
приложения - в пределах сотен килобайт, но без учёта самой Qt(которая, в свою очередь весит целиком целиком несколько десятков мегабайт). Ministro(отдельный загрузчик Qt) выкачивает только необходимые модули Qt (т.е. libQtDeclarative.so выкачается только для QML приложений, а webKit(он большой) - для броузерных)
скорость GUI приложений - думаю, несколько медленнее (исходя из архитектуры - т.к.финальный вывод UI всё-равно проводиться четер Java привязку, а также концепции signal-slot). Не проверял. Но скорость приложений редко упирается с скорость UI ;)

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

>>В то время, когда на айось и винфон делают нормальные приложения, на андроиде черт знает что.
речь о кросс-платформенной разработке на С++ с signal-slot концепцией.
Qt4 есть и для iphone, и для WinMobile65 (и для Blackberry tablet OS - которая Qnx 6.5, и для meego/её наследника, и для symbian) - просто не приводил скриншотов;) для WinMobeli70+ - не знаю - но если есть компилятор (от WinCE) - то можно и Qt4 собрать.
пример - те же игры - полный экран и (задача в ТЗ)одинаковый вид на всех платформах - если будете писать на java/obj-c/js (и иже) - крайне сложно будет вести проект;)

azazello ★★★ ()

Еще вопросик.
Можно собрать статически, то-есть чтоб не зависила от самой Qt?
И сколько при этом весит приложение?
(удобно например для тех, у кого нет Qt на телефоне)

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

>>Можно собрать статически
думаю - можно.
но проще динамические либы поместить во внутрь apk(zip архива приложения в jni секцию). от 6-8(если только qtcore/qtgui) до нескольких десятков мегабайт (вся qt4+qtmobile+qtquick + сейчас андроид официально держит 3 архитектуры (armv5, armv7a, x86) - и недостаток native-code - нужно 3 копии библиотек класть по-хорошему)

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

да - размер Qt4 на телефоне (с qtquick, но без webkit, многие модули qtmobile) - ~21МБ (armv5)

azazello ★★★ ()

насчет скорости работы этого безобразия видел такую демку. http://www.youtube.com/watch?v=AiS53U7XEvw В принципе можно на QtQuick делать проги. Говорят народ компоненты от Симбиана портировал ещё. Но можно и наверное от Meego тоже. В итоге проги будут смотреться как проги для Meego. Но никто не мешает надеюсь и андроидовские элементы в виде отдельного бранча QtComponents запилить.

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

>>насчет скорости работы этого безобразия видел такую демку.
о! спс - в демке есть qt3d (который собирались включить в 4.7, потом в 4.8, а нынче, похоже - в 5.0). и она на сборке eglfs (не совсем уверен, что она окончательно вошла в таком виде в necessitas 0.3)
в общем - есть с чем ещё ковыряться ;)

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

>В то время, когда на айось и винфон делают нормальные приложения

ахаххахаха :D о да!

tazhate ★★★★★ ()

В новость можно было засунуть, хотя и так и так увидел.
надеюсь это картинка плохая, а на девайсе всё хорошо.

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

когда будет что-то действительно стабильное - тогда и в новость :)
на девайсе - да. порваное - это глюк граббера экрана в debug monitor
да, Qt3D тоже поднял - и работает - но вот тут мне совсем всё нравится - возможно, есть подтормаживания. разбираюсь

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

я чуть выше написал - для кросс-платформенной разработки. если бы не был предназначен - не было бы и NDK. а раз он есть - то и кросс-платформенный С и/или C++ код тоже имеет право жить :)
для большого же количества GUI программинга с малым количеством логики (а таких приложений для android(и не только) - большинство по количеству) - хватит и Java/родных API андроида :)


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

я использую Qt на Android для своих поделок, я хорошо знаю Qt, это удобно - все свои наработки зарулить на андроид без трудозатрат - это уже цель, а так конечно QtAdnroid не предназначен для серьезного массового ПО, как и MonoDroid/MonoTouch

у всего своя ниша, так вот у этого проекта Qt for Android тоже есть своя аудитория

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