Я программист C++. Пишу десктопные кросплатформенные GUI приложения, в основном с использованием Qt и Qt Quick. Хочу написать небольшое мобильное приложение для Android.
Можно попробовать сделать как рекомендуется в официальной документации: в Android Studio, на языке Kotlin.
А вроде как есть возможность на C++ и даже с использованием Qt.
Плюсы Kotlin:
- это родной язык для Android - все функции платформы из него должны быть легко доступны
- приложение написанное на Kotlin вроде как дожно быть доступно на всех устройствах с Android без перекомпиляции
Минусы Kotlin:
- Его нужно изучать, тратить на это время.
- Первое время я буду писать неэффективно, постоянно наступая на грабли и ища ответов на форумах и в документации.
Плюсы Qt/C++:
- Я хорошо знаю этот язык и эту библиотеку, могу писать быстро и создававть эффективный код.
- Кроссплатформенность - если я когда нибудь захочу поддержать другую платформу, например Apple, для этого не понадобиться переписывать всё приложение.
Минусы Qt/C++:
- Возможно не все возможности платформы Android доступны из C++. Ну или может быть многие возможности доступны каким нибудь сложным и неудобным способом.
- Худшая кроссплатформенность: Android устройства могут работаь на разных процессорах. Для них потребуется перекомпиляция приложения.
- Возможно хуже ситуация с поддержкой: сложнее искать ответы на вопросы при возникновении проблем.
Возможно я не знаю о каких-то других существенных достоинствах и недостатках этих языков, которые могут повлиять на выбор.
Подскажите пожалуйтса, что лучше выбрать?
Добавление: забыл про лицензирование Qt. На десктопе можно сделать закрытое приложение на Qt не покупая платной лицензии на LGPL. Для этого достаточно использовать Qt в виде динамически линкующихся библиотек. Возможно ли такое на Android? Или нужно обязательно покупать платную лицензию?