Suche Tutorials Android/iOS ausschließl. mit C++

  • Antworten:3
  • Bentwortet
Joosy
  • Forum-Beiträge: 2

16.04.2019, 12:55:17 via Website

Hallo geschätzte Gemeinde,
ich möchte Android/iOS ausschließl. mit C++ systemnah programmieren und bin leider eher erfolglos auf der Suche nach guten Tutorials (Nur für Fortgeschrittene) oder aber auch Buchempfehlungen zum Thema.
Könnt Ihr mir helfen?
Danke!

mfg
Joosy

Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

18.04.2019, 09:43:12 via Website

Hallo Joosy,

wie du schon festgestellt hast, kommst du aus dem VM Container nicht raus. Ansonsten hättest du unter Android auch erhebliche Sicherheitsprobleme.

Hier ist das eigentlich gut erklärt:
https://medium.freecodecamp.org/c-usage-in-android-4b57edf84322

und hier wäre mal ein Beispiel:
https://github.com/googlesamples/android-ndk/tree/master/native-activity

Die Frage ist: Was hast du davon wenn du in C++ entwickelst?
Du hast nur erheblichen Mehraufwand und kaum Vorteile.

Für eine Activity braucht man in Java vlt 20 Zeilen Code. In C++ wie du siehst deutlich mehr.

Wie Stefan schon gesagt hat, per NDK ists möglich, aber es macht keinen Sinn, wenn man nicht eine spezielle Aufgabe schnell (Ausführungsgeschwindigkeit) lösen möchte. Z.b. Rendern von irgendwas etc..
Nähler ans System als mit NDK wirst du auch nicht kommen.
Es sie denn du schreibst dir deinen Kernel etc. da kannst du wirklich systemnah programmieren, hast dann aber Kernel oder Rom Features die erstmal keine eigenständige App sind und somit auch nicht ohne weiteres aus dem Store installierbar ist.

Nimm Java/Kotlin mit Android Studio das funktioniert am Besten :)

— geändert am 18.04.2019, 09:50:40

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Joosy
Kommentieren
swa00
  • Forum-Beiträge: 3.704

16.04.2019, 18:17:20 via Website

Hallo joosy,

willkommen im Forum.

ich möchte Android/iOS ausschließl. mit C++ systemnah programmieren

Das gibt es so leider nicht.

Natürlich kannst du ganz normal deine C/C++ - Daemons entwickeln - dem steht
natürlich nichts im Wege, greift aber nicht auf die GUI/Zygote/VM zu.

Es gibt zwar das NDK , welches allerdings nur ein C/C++ Plugin ist
https://developer.android.com/ndk

Grundgerüst ist und bleibt Java/Kotlin. Das Gleiche gilt auch für Swift bei iOS.

Mit Crossplattformen wirst du ganz schnell an deine Grenzen kommen.
Das würde ich auf alle Fälle vermeiden.

Fazit : Am besten mit AndroidStudio & Java / Kotlin und iOS mit Swift/XCode und dann
Systemnahe C/C++ anwenden - So halte ich es auch des Öfteren.

— geändert am 16.04.2019, 19:13:52

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Pascal P., Joosy und 1 mehr Pascal P.JoosyJokel
Kommentieren
Joosy
  • Forum-Beiträge: 2

17.04.2019, 20:46:03 via Website

Grundgerüst ist und bleibt Java/Kotlin. Das Gleiche gilt auch für Swift bei iOS.

Da stellt sich mir die Frage, mit welchem Code das Betriebssystem Android programmiert wurde?
Eine mögliche Antwort wäre doch die Folgende:
Die Linux Foundation bezeichnet das Android als Linux-Distribution, da es sich um eine Distribution mit Linux-Kernel handelt und ist demnach auch größtenteils in C/Assembler programmiert. Die beste Zeit meines Lebens war, als ich noch viel unter Linux programmiert hatte. Leider muss ich heute feststellen, dass die Hersteller gar nicht mehr daran interessiert sind, Programmierer so nah an die Hardware zu lassen. Genauso auch Google das sich mit Android-Studio und dem Sandkastenprinzip (Native) Java sicher fühlt und die Hardware dadurch kontrollierbar bleibt. Ähnlich ist es bei den Chinesen mit dem Huawei usw. Aber auch C/C++ mit VS ist mobile native. Wenn ich es richtig interpretiere, könnte ich unter normalen Bedingungen mit Android-Studio am weitesten kommen. Jedenfalls ist mir nichts bekannt, über die VM raus auf die Hardware-Ebene zu kommen.

Hilfreich?
Kommentieren
Beste Antwort
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

18.04.2019, 09:43:12 via Website

Hallo Joosy,

wie du schon festgestellt hast, kommst du aus dem VM Container nicht raus. Ansonsten hättest du unter Android auch erhebliche Sicherheitsprobleme.

Hier ist das eigentlich gut erklärt:
https://medium.freecodecamp.org/c-usage-in-android-4b57edf84322

und hier wäre mal ein Beispiel:
https://github.com/googlesamples/android-ndk/tree/master/native-activity

Die Frage ist: Was hast du davon wenn du in C++ entwickelst?
Du hast nur erheblichen Mehraufwand und kaum Vorteile.

Für eine Activity braucht man in Java vlt 20 Zeilen Code. In C++ wie du siehst deutlich mehr.

Wie Stefan schon gesagt hat, per NDK ists möglich, aber es macht keinen Sinn, wenn man nicht eine spezielle Aufgabe schnell (Ausführungsgeschwindigkeit) lösen möchte. Z.b. Rendern von irgendwas etc..
Nähler ans System als mit NDK wirst du auch nicht kommen.
Es sie denn du schreibst dir deinen Kernel etc. da kannst du wirklich systemnah programmieren, hast dann aber Kernel oder Rom Features die erstmal keine eigenständige App sind und somit auch nicht ohne weiteres aus dem Store installierbar ist.

Nimm Java/Kotlin mit Android Studio das funktioniert am Besten :)

— geändert am 18.04.2019, 09:50:40

LG Pascal //It's not a bug, it's a feature. :) ;)

Hilfreich?
Joosy
Kommentieren