Android Entwicklung bald mit OpenJDK API statt Oracle API

  • Antworten:4
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.12.2015, 12:16:39 via Website

Hallo Entwickler,
wie in den letzten Tagen bekannt wurde, will Google mit Android N von der Oracle Java API auf die freie OpenJDK Api wechseln.
(Nähere Infos hier: https://www.nextpit.de/android-n-openjdk-statt-java)

(!) Der Titel des Artikels ist etwas missverständlich: Android wird weiterhin in Java programmiert. Es ändert sich nur die Java API dahinder und damit der Compiler!

Nun stellt sich für mich die Frage in wie weit wir Apps daran anpassen müssen, zwecks Kompatiblität etc..
Im ersten Schritt der Umstellung auf OpenJDK sollen sich wohl nur die Imports etc. ändern (was noch dazukommt weiß bisher keiner so genau).

Ich selber sehe in dieser Umstellung sowohl Vorteile als auch Nachteile:
Nachteile:
- Wie ist es mit der ab- bzw. Aufwärtskomatiblität von Apps?
- Wird es dafür eine neue Support Lib geben oder irgendwas in der Art?

Vorteile:
- Google/Android kann nun API änderungen leicher mit der OpenJDK Community abstimmen und regeln. Bisher hatte Oracle da immer die Finger im Spiel.

  • Zudem wird vorraussichtlich eine Java 8 Unterstützung mit Lambda-Expessions etc. kommen, welche ich sehr geschickt finde ;)

Wie seht ihr das Thema bzw. was haltet ihr von der Umstellung?

LG
Pascal

PS: Wer sich mal ein Bild von OpenJDK machen will: http://openjdk.java.net/

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

Ludy

Antworten
Michael K.
  • Forum-Beiträge: 1.126

30.12.2015, 17:07:34 via Website

Frage: Eine geänderte APi bedeutet doch nur, dass bestimmte Funktionen anders aufgerufen werden. Warum muss dann der Compiler gewechselt werden? Oder wird der Compiler deshalb gewechselt, weil auf dem alten Compiler Rechte Dritter liegen?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.12.2015, 17:11:08 via App

Soweit ich weiss hat der aktuelle Compiler die Java API zu grunde liegend und muss deswegen gewechselt werden. Aber devon sollte man kaum was mitbekommen.
Wenn ich mich damit nicht irre, wird Google halt mit einem AndroidStudio Update einen neuen Compiler einbauen und fertig.

Aber verbesser mich wenn ich dabei falsch liegen sollte..

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

Antworten
Michael K.
  • Forum-Beiträge: 1.126

30.12.2015, 18:13:05 via Website

Ich weiss es auch nicht, bin eher bei C/C++ zuhause. Dort arbeitet der Compiler/Linker aber normalerweise völlig unabhängig von den verwendeten Bibliotheken. Die verwendeten Funktionen werden deklariert, damit kennt der Compiler ihr Interface und kann sie verwenden.
Wenn es um Bibliotheken geht, die direkt zur Sprache mitgeliefert werden, könnten natürlich schon Deklarationen im Compiler eingebaut sein, die dessen Austausch erforderlich machen.

In diesem Wikipedia-Artikel steht aber, dass der Compiler (also vermutlich der javac) durch den GNU-Java-Compiler ersetzt werden soll, damit er frei von Rechten Dritter ist.

https://de.m.wikipedia.org/wiki/OpenJDK

Was vielleicht der einzige Grund für den Compilerwechsel ist. Wie gesagt, in der Java-Welt kenne ich mich nicht so gut aus.

— geändert am 30.12.2015, 18:24:33

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

30.12.2015, 18:21:19 via Website

Jap, dann wird das auch so sein.

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

Antworten