C++ unter Android



  • Ich möchte mich jetzt mal mit Android beschäftigen und da kann man ja auch in C++ mit Qt oder auch über das NDK Apps entwickeln. Hat jemand Erfahrung mit C++ unter Android? Ist es genauso gut zu nutzen wie Java unter Android? Was will ich machen, nun ich möchte kleine Scherzprogramme und kleine Spiele entwickeln.



  • Scherzprogramme kannst du auch sehr gut in Java programmieren.



  • Definiere "genauso gut ".



  • Mit "genauso-gut" meine ich in erste Linie Einfachheit, Workflow, Doku, Ergebnis, IDE-Unterstützung, ausreichend schnell usw.

    Also ob ich ohne viel Gebastel und Ärger von meiner Vorstellung zu einem ansprechenden Ergebnis komme.



  • DerAndroide schrieb:

    Mit "genauso-gut" meine ich in erste Linie Einfachheit, Workflow, Doku, Ergebnis, IDE-Unterstützung, ausreichend schnell usw.

    Dann nimm Java. Java ist die typische IDE-Sprache mit viel Doku. Ausreichend schnell wird für dich sowieso alles sein, und wenn nicht hättest du auch mit C++ ein Problem.



  • Ja, ich denke dies ist auch der beste Weg. Ich habe mir gerade die NDK Seite von Android angeschaut und dort wird auch geraten lieber in Java zu programmieren und wenn es unbedingt nötig sein sollte, dann mit dem NDK was in C oder C++ zu implementieren und dann per JNI anzusprechen. Der Großteil der Apps wird also immer Java sein, auch wenn man mal unbedingt was ganz schnelles braucht, dann macht man halt diesen Teil native. Es gibt wohl auch die Möglichkeit komplett native seine Sachen zu machen, dann hat man wohl aber nicht auf alles Zugriff.

    Unter Android wird nun auch nicht mehr ein JIT eingesetzt, sondern die App wird bei der Installation komplett binär kompiliert. Das nennt sich ART(https://de.wikipedia.org/wiki/Android_Runtime). Kennt sich da jemand aus wie viel besser die Performance dadurch wird. Der GC scheint wohl auch weniger zu stören bei dieser neuen Runtime-Art, obwohl man wohl eh sich am Anfang des Programms einen ausreichend großen Block Speicher holt und den erst zum Ende des Programms freigibt, so läuft ein GC sowieso nie zwischendurch an.

    Kann wer ein Forum, wie dieses hier, für Java und Android empfehlen?



  • DerAndroide schrieb:

    Ja, ich denke dies ist auch der beste Weg. Ich habe mir gerade die NDK Seite von Android angeschaut und dort wird auch geraten lieber in Java zu programmieren und wenn es unbedingt nötig sein sollte, dann mit dem NDK was in C oder C++ zu implementieren und dann per JNI anzusprechen. Der Großteil der Apps wird also immer Java sein, auch wenn man mal unbedingt was ganz schnelles braucht, dann macht man halt diesen Teil native. Es gibt wohl auch die Möglichkeit komplett native seine Sachen zu machen, dann hat man wohl aber nicht auf alles Zugriff.

    Ja, das ist das offizielle Statement. In der Praxis nimmt man C++, wenn es um Plattformunabhängigkeit geht (iOS/Android/Windows Phone), Performance extremst wichtig ist und/oder das Programm sehr logiklastig ist und man in C++ effizienter programmiert. Man opfert halt ein bisschen Doku/Tooling/IDE dafür.

    Das trifft auf dich nicht zu, deshalb empfehle ich Java.

    Stackoverflow ist immer gut für Android.





  • Jo, ich werde dann Java nehmen. WindowsPhone und iOS interessieren mich nicht. Ich kenne auch keinen der so was hat. Android ist das Windows unter den Mobilen, wenn man das abdeckt, dann hat man fast den gesamten Markt, das reicht.


Anmelden zum Antworten