Обновлено (для ясности и уменьшения двусмысленности):
Я собираюсь начать возиться с приложениями для Android. Я планировал написать на C ++ с помощью NDK (поскольку у меня больше опыта работы с C ++ и я предпочитаю его Java), но на странице Android NDK наткнулся на следующее :
вам следует использовать NDK только в том случае, если он важен для вашего приложения - никогда, потому что вы просто предпочитаете программировать на C / C ++.
У меня сложилось впечатление, что вы должны использовать тот язык, который вам больше нравится, если он подходит для работы. Может ли кто-нибудь объяснить, почему так настоятельно рекомендуется не использовать C / C ++ для разработки Android?
Оригинал:
Я собираюсь начать возиться с мобильными приложениями, в частности с Android, который является ОС моего текущего телефона, и мне было интересно, приемлемо ли написание приложения на C ++ (или, по крайней мере, на ядре, а затем на Java).
Немного предыстории, я специализируюсь на информатике, прошел 3 курса C ++ (вводный, промежуточный, ООП, весной я беру курс STL) и только 1 курс Java (средний уровень). Из-за этого мне удобнее работать с C ++, и я предпочитаю его Java. На странице Android NDK я обнаружил следующее :
Использование собственного кода на Android обычно не приводит к заметному повышению производительности, но всегда увеличивает сложность вашего приложения. В общем, вы должны использовать NDK только в том случае, если это важно для вашего приложения - никогда, потому что вы просто предпочитаете программировать на C / C ++.
- У меня сложилось впечатление, что вы должны использовать язык, который подходит для работы, а также тот, с которым вы знакомы
- Возможно, я захочу перенести приложение на другую мобильную платформу, например iOS, которая поддерживает C ++, но не java.
- Хотя Java является языком высокого уровня и, следовательно, должен ускорить разработку, я чувствую, что разработка будет медленнее, потому что мне придется переучивать почти все (поскольку я взял только один класс на этом языке)
Любой совет был бы очень признателен.
ps: многие ответы на эту тему были получены много лет назад, и очень мало последующих ответов, в которых упоминается NDK, позволяющий разрабатывать полные нативные приложения на Android 2.3 и новее.