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