Actualizado (para mayor claridad y para reducir la ambigüedad):
Voy a empezar a jugar con las aplicaciones de Android. Estaba planeando escribir en C ++ usando el NDK (ya que tengo más experiencia en C ++ y lo prefiero a Java) pero encontré lo siguiente en la página de Android NDK :
solo debe usar el NDK si es esencial para su aplicación, nunca porque simplemente prefiera programar en C / C ++.
Tenía la impresión de que debería utilizar el idioma que prefiera, siempre que se adapte al trabajo. ¿Alguien podría explicar por qué se recomienda tanto no utilizar C / C ++ para el desarrollo de Android?
Original:
Voy a empezar a jugar con las aplicaciones móviles, específicamente Android, que es el sistema operativo de mi teléfono actual, y me preguntaba si escribir la aplicación en C ++ (o al menos el núcleo, luego envolver en Java) era una opción aceptable.
Algunos antecedentes, soy un estudiante de ciencias de la computación que ha tomado 3 cursos de C ++ (introducción, intermedio, OOP, y estoy tomando un curso STL en la primavera) y solo 1 curso de Java (intermedio). Debido a esto, me siento más cómodo con C ++ y lo prefiero a Java. Encontré lo siguiente en la página de Android NDK :
El uso de código nativo en Android generalmente no resulta en una mejora notable del rendimiento, pero siempre aumenta la complejidad de la aplicación. En general, solo debe usar el NDK si es esencial para su aplicación, nunca porque simplemente prefiera programar en C / C ++.
- Tenía la impresión de que debería utilizar el idioma que mejor se adapte al trabajo, así como uno con el que esté familiarizado.
- Es posible que desee portar la aplicación a otra plataforma móvil, como iOS, que admita C ++ pero no Java.
- Si bien Java es un lenguaje de alto nivel y, por lo tanto, debería acelerar el desarrollo, creo que el desarrollo sería más lento porque tendría que volver a aprender casi todo (ya que solo he tomado una clase sobre el lenguaje)
Cualquier consejo sería muy apreciado.
PD: muchas de las respuestas sobre este tema son de hace años y hay muy pocas respuestas de seguimiento que mencionen que el NDK permite el desarrollo de aplicaciones nativas completas en Android 2.3 y versiones posteriores.