Aktualisiert (aus Gründen der Klarheit und zur Verringerung der Mehrdeutigkeit):
Ich werde anfangen, an Android-Apps herumzubasteln. Ich hatte vor, das in C ++ mit dem NDK zu schreiben (da ich mehr Erfahrung in C ++ habe und es Java vorziehe), bin aber auf der Android NDK-Seite auf Folgendes gestoßen :
Sie sollten das NDK nur verwenden, wenn es für Ihre App unerlässlich ist - niemals, weil Sie es einfach vorziehen, in C / C ++ zu programmieren.
Ich hatte den Eindruck, dass Sie die Sprache verwenden sollten, die Sie bevorzugen, solange sie zum Job passt. Könnte jemand erklären, warum es so dringend empfohlen wird, C / C ++ nicht für die Android-Entwicklung zu verwenden?
Original:
Ich werde anfangen, an mobilen Apps herumzubasteln, insbesondere an Android, dem Betriebssystem meines aktuellen Telefons, und ich habe mich gefragt, ob das Schreiben der App in C ++ (oder zumindest des Kerns, dann das Umschließen in Java) eine akzeptable Option ist.
Einige Hintergrundinformationen: Ich bin ein Informatik-Major, der 3 C ++ - Kurse (Intro, Intermediate, OOP und im Frühjahr einen STL-Kurs belegt) und nur 1 Java-Kurs (Intermediate) belegt hat. Aus diesem Grund bin ich mit C ++ besser vertraut und ziehe es Java vor. Auf der Android NDK-Seite bin ich auf Folgendes gestoßen :
Die Verwendung von nativem Code unter Android führt im Allgemeinen nicht zu einer spürbaren Leistungsverbesserung, erhöht jedoch immer die Komplexität Ihrer App. Im Allgemeinen sollten Sie das NDK nur verwenden, wenn es für Ihre App wesentlich ist - niemals, weil Sie es einfach vorziehen, in C / C ++ zu programmieren.
- Ich hatte den Eindruck, dass Sie die Sprache verwenden sollten, die zum Job passt, sowie eine, mit der Sie vertraut sind
- Möglicherweise möchte ich die Anwendung auf eine andere mobile Plattform wie iOS portieren, die C ++, aber nicht Java unterstützt
- Während Java eine Hochsprache ist und daher die Entwicklung beschleunigen sollte, würde die Entwicklung meiner Meinung nach langsamer sein, da ich fast alles neu lernen müsste (da ich nur eine Klasse in der Sprache belegt habe).
Jeder Rat wäre sehr dankbar.
ps: Viele der Antworten zu diesem Thema stammen aus früheren Jahren, und es gibt nur sehr wenige Folgeantworten, in denen das NDK erwähnt wird, das die Entwicklung vollständiger nativer Apps auf Android 2.3 und neuer ermöglicht.