Forum: PC-Programmierung Android-App Programmierung - Warum Java?


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Maß (Gast)


Lesenswert?

Hey, warum werden Android Apps hauptsächlich in Java programmiert?
Ist Android nicht im Prinzip ein Ableger von Linux, welches in C gecodet 
wird? Wäre da nicht C oder C++ näher dran? Oder muss ich jetzt 
unterscheiden zwischen Apps und OS?

von Hmmm (Gast)


Lesenswert?

Maß schrieb:
> Ist Android nicht im Prinzip ein Ableger von Linux, welches in C gecodet
> wird?

Eher ein Aufsatz. Und wenn Du reinen Native Code schreibst, läuft der 
zwar im Terminal, aber es fehlt jeglicher Zugriff auf die 
Android-Java-APIs.

Man kann aber Java- und Native-Code kombinieren.

von Hannes J. (Firma: _⌨_) (pnuebergang)


Lesenswert?

Weil damals, noch bevor Google Android gekauft hat, die 
Android-Entwickler eine Jave-Hülle um Linux gezogen haben, eben Android 
OS, um damit ein OS für Digitalkameras zu haben das sie in Java 
programmieren konnten. Niemand wollte das Android OS für Digitalkameras 
haben, also haben sie es mit dem Programmieren von Smartphones versucht.

von Jim M. (turboj)


Lesenswert?

Maß schrieb:
> Oder muss ich jetzt
> unterscheiden zwischen Apps und OS?

Deutlich, denn die App interessiert es nicht wirklich ob Linux oder was 
anderes unter der JVM liegt - solange die APIs alle funktionieren. Das 
gilt natürlich nicht mehr für "native" Bibliotheken.

Idee war simpel eine vereinfachte API um die Einstiegshürden so niedrig 
wie möglich zu halten. Damit haben Einsteiger bessere Karten und die App 
Entwicklung wird beschleunigt.

Für neue Android Apps würde ich aber eher Kotlin als Java verwenden.

von Maxe (Gast)


Lesenswert?

War da nicht die Idee, unabhaengig vom Prozessor zu sein?

von Erwin D. (Gast)


Lesenswert?

Maxe schrieb:
> War da nicht die Idee, unabhaengig vom Prozessor zu sein?

Ja, deshalb schrieb Jim:
> Deutlich, denn die App interessiert es nicht wirklich ob Linux oder was
> anderes unter der JVM liegt - solange die APIs alle funktionieren.

von Manfred (Gast)


Lesenswert?

Maß schrieb:
> Hey, warum werden Android Apps hauptsächlich in Java programmiert?

Weil es jede Menge Pfeifen gibt, die außer Java nichts können.

von Sven B. (scummos)


Lesenswert?

Maxe schrieb:
> War da nicht die Idee, unabhaengig vom Prozessor zu sein?

Sag mir mal eine gängige Sprache (außer Assembler), die abhängig vom 
Prozessor ist ...

von Donni D. (donnidonis)


Lesenswert?

Standard Sprache für Android Apps ist jetzt Kotlin. Läuft mit der JVM, 
hat aber noch einige Feinheiten gegenüber Java, meiner Meinung nach.

von Maxe (Gast)


Lesenswert?

Sven B. schrieb:
> Maxe schrieb:
>> War da nicht die Idee, unabhaengig vom Prozessor zu sein?
> Sag mir mal eine gängige Sprache (außer Assembler), die abhängig vom
> Prozessor ist ...
Aeh, das haengt nicht an der Sprache selbst, sondern am Compiler. Alles 
was direkt in Maschinencode kompiliert wird, ist nur auf dem 
entsprechenden System lauffaehig. Ob man ohne weiteres ein C-Programm 
fuer eine JVM kompilieren kann, weiss ich nicht.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.