Atualizado (para maior clareza e para reduzir a ambiguidade):
Vou começar a mexer em aplicativos para Android. Eu estava planejando escrever em C ++ usando o NDK (já que tenho mais experiência em C ++ e prefiro-o a Java), mas deparei com o seguinte na página Android NDK :
você só deve usar o NDK se for essencial para seu aplicativo - nunca porque você simplesmente prefere programar em C / C ++.
Fiquei com a impressão de que você deveria usar a linguagem de sua preferência, desde que seja adequada ao trabalho. Alguém poderia explicar por que é tão aconselhável não usar C / C ++ para o desenvolvimento do Android?
Original:
Vou começar a mexer em aplicativos móveis, especificamente o Android, que é o sistema operacional do meu telefone atual, e queria saber se escrever o aplicativo em C ++ (ou pelo menos o núcleo, em seguida, embrulhar em Java) era uma opção aceitável.
Com alguma formação, sou formado em ciência da computação, tendo feito 3 cursos C ++ (introdução, intermediário, OOP e estou fazendo um curso STL na primavera) e apenas 1 curso Java (intermediário). Por causa disso, fico mais confortável com C ++ e prefiro-o a Java. Encontrei o seguinte na página Android NDK :
Usar código nativo no Android geralmente não resulta em uma melhoria perceptível de desempenho, mas sempre aumenta a complexidade do aplicativo. Em geral, você só deve usar o NDK se for essencial para o seu aplicativo - nunca porque você simplesmente prefere programar em C / C ++.
- Tive a impressão de que você deveria usar a linguagem que melhor se adeque ao trabalho, assim como aquela que você está familiarizado
- Posso querer portar o aplicativo para outra plataforma móvel, como iOS, que suporta C ++, mas não java
- Embora Java seja uma linguagem de alto nível e, portanto, deva tornar o desenvolvimento mais rápido, eu sinto que o desenvolvimento seria mais lento porque eu teria que reaprender quase tudo (já que só fiz uma aula sobre a linguagem)
Qualquer conselho seria muito apreciado.
ps: muitas das respostas sobre esse assunto são de anos atrás e há muito poucas respostas de acompanhamento que mencionam que o NDK permite o desenvolvimento de aplicativos nativos completos no Android 2.3 e mais recentes.