LINUX.ORG.RU

Qt for Android

 ,


0

1

Хотелось бы услышать мнение о сабже от людей, которые его тыкали более глубоко, чем простой запуск Hello world (это я уже сделал). Раньше тыкал его пару лет назад и помню, что он был сыроват (в том плане, что некоторые базовые вещи работали не совсем хорошо, вплоть до каких-то проблем с кнопкой «Назад»), но уже не помню, что мне не понравилось, чтобы проверить. Как оно сегодня? Production ready или нет?

С ходу могу назвать два преимущества - Qt API куда продуманней графической библиотеки Android, которая состоит из кучи прослоек совместимости, которые при этом не дают идентичного поведения на разных версиях ОС («прослойка совместимости» даёт лишь заглушки, либо простейшие реализации нужных функций, чтобы приложение просто не упало из-за ненайденных классов на старых версиях ОС). А второе - возможность легче поддерживать несколько платформ (например, Desktop + iOS + Android, бизнес-логику и немалую часть интерфейса можно делать общими).

Пока знаю и как минимум один недостаток - приложение будет весить не меньше около 20 мегабайт, потому что Qt жирный (дефолтные библиотеки Android включены в ОС, это не значит, что они менее жирные).

Помимо общих впечатлений интересуют и конкретные вопросы:

1) Qt достаточно допилен для Android, чтобы пришлось писать свой Java-код только для каких-нибудь специфических вещей типа виджетов?

2) Qt обеспечивает не худшую производительность (в теории C++ быстрее жабы, но на практике многое зависит от качества кода и того, и другого)?

3) Ситуация с лицензией аналогична десктопной версии? То есть, несмотря на активное навязывание платной версии на официальном сайте, на самом деле имеется лишь обязанность раскрывать в OpenSource правки в сам Qt (что для большинства проектов не является критичным, либо вовсе не требуется), а прикладное приложение по-прежнему может быть закрытым.

Ну и да. QWidget или QML? Первое я хорошо знаю, но когда-то где-то слышал, мол сейчас в основном разработчиками Qt пилится второе.

★★★★★

Последнее исправление: KivApple (всего исправлений: 2)

3) Ситуация с лицензией аналогична десктопной версии?

Если используешь под Qt GPL3, то код твой тоже GPL 3.

Собираешься продавать свое ПО -> купи коммерческую лицензию для стартапа

LGPL очень скользкая лицензия у Qt.

На хабре чел из Qt отвечал на вопросы.

Лейтмотив такой: если ты хочешь писать на Qt коммерческое, и ты не BMW или Airbus - забудь - эта либа не для тебя писалась. Если ты последователь Столлмана, то тебе дорога открыта.

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

LGPL очень скользкая лицензия у Qt.

В каком месте?

На хабре чел из Qt отвечал на вопросы.

Некомпетентность «специалистов» этого ресурса просто поражает воображение.

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

У Qt лицензия LGPLv3. Она не может быть скользкой или не скользкой - LGPLv3 это вполне конкретная лицензия. И она позволяет динамическую линковку с закрытым кодом. И даже статическую, но если предоставить по запросу свои объектные файлы для пересборки (чтобы юзер мог перелинковать твой проект с другой версией Qt). В случае приложения под Android в APK запихивается куча so-шек, так что линковка вполне себе динамическая. Была бы GPLv3 - да, тогда даже линковаться было бы нельзя.

ИМХО нужно читать текст лицензии, а не маркетинговые постеры, потому что, очевидно, авторам Qt выгодно, чтобы люди использовали платную подписку, однако юридическую силу имеет именно лицензия, а не всё остальное.

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

LGPL очень скользкая лицензия у Qt.

В каком месте?

А если включить логику и подумать почему если есть LGPL позволяющая создавать, как вы думаете, проприетарное ПО, осталась коммерческая лицензия цена на которую возросла с 25$ до 425$?

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

Потому что вы не сможете перевести на коммерческую версию проект написаный с использованием открыто-бесплатной LGPL. Но это проблемы коммерческих отношений с авторами Qt, и не относится к lgpl. Авторам Qt вобще глубоко плевать на тех кто использует lgpl версию. Лишь бы к ним с объятьями не лезли:)

antares0 ★★★★
()
Последнее исправление: antares0 (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.