Trotz Googles NDK, Xamarin und Apache Cordova: Die Android-Entwicklung ist derzeit weiter rund um Java zentriert.

Foto: Andreas Proschofsky / derStandard.at

Es war eine der ersten Entscheidungen rund um Android: Die App-Entwicklung erfolgt per Java. Mittlerweile sind zwar einige andere Optionen hinzugekommen, jenseits von Spielen dominiert aber weiter die Nutzung von Java - und wird auch von Google offiziell empfohlen. Nun schickt sich aber ein eigenes Team beim Android-Hersteller an, eine weitere Alternative zu schmieden, wie Arstechnica aufgespürt hat.

Sky

Unter dem Namen Sky arbeitet Google derzeit an einer neuen Lösung zur Android-Entwicklung. Damit erstellte Apps sollen nicht nur eine deutlich bessere Performance bieten, auch die enge Verzahnung mit dem Web sowie eine weitgehende Plattformunabhängigkeit sind zentrale Entwicklungsziele.

Vorstellung von "Sky" im Rahmen des Dart Developer Summit.
Google Developers

Um all dies zu ermöglichen bedient man sich einer in den letzten Jahren bei Google entstanden Technologie: Der Skript-Sprache Dart, die Google ursprünglich als Javascript-Nachfolger positioniert hatte. Diese verspricht nicht nur an sich bereits eine hohe Performance, damit erstellter Code lässt sich auch für die Zielplattform gezielt kompilieren.

Jank-free

Die Entwickler zeigen sich jedenfalls überzeugt, dass Sky "Jank-free by design" ist, es also bei damit erstellten Apps zu keinen Hängern im User Interface mehr kommt. Selbst komplizierte Apps könnten damit 120 Frames pro Sekunde zeichnen - bisher kämpfen viele Android-Apps damit überhaupt 60 Bilder pro Sekunde zu erreichen. Möglich wird dies unter anderem dadurch, dass der UI-Thread immer Priorität hat, also nie durch andere Aktivitäten aufgehalten werden kann.

Alles Web

Der Web-Entwicklungs-Background von Sky zeigt sich auch an anderer Stelle: Die Apps auf dem Smartphone sind eigentlich nur ein einfaches Grundgerüst, der Großteil des Codes wird direkt aus dem Internet bezogen - wie eben auch bei Web-Apps. Dies bedeutet, dass Apps in den meisten Fällen serverseitig auf dem Laufenden gehalten werden können, Fehler also etwa rasch ausgebessert werden können, ohne die Smartphone-Nutzer zu einem weiteren Update überreden zu müssen.

Sicherheit

Abzuwarten bleibt, was dies für die Sicherheit solcher Apps bedeutet, immerhin ist es auf diese Weise einfach nachträglich den Code einer App zu verändern - und zwar umgehend auf allen Geräten. Zumindest sollen Sky-Apps aber dem gewohnten Berechtigungsgerüst von Android unterliegen. Insofern lässt sich also auch hier nicht einfach eine App ohne Berechtigungen ausliefern, die dann plötzlich sensible Daten auslesen kann.

Omnipräsent

Eine weitere Spezialität von Sky: Entsprechende Apps laufen überall dort, wo die Dart VM verfügbar ist, theoretisch also auch unter iOS und Windows - auch wenn die entsprechenden Arbeiten derzeit noch nicht vorgenommen wurden.

Experiment

Die Entwickler betonen, dass Sky derzeit lediglich ein Experiment sei, bisher gibt es also offiziell keine Pläne, Java als primäre Entwicklungssprache abzulösen. Sonderlich überraschend würde solch ein Schwenk allerdings nicht kommen. Immerhin darf das Verhältnis von Google zu Java-Anbieter Oracle getrost als "gespannt" bezeichnet werden, hat Oracle doch Google bereits für Android vor Gericht gezerrt. Google arbeitet wiederum seit einiger Zeit an der Forcierung von Web-Apps auch für den mobilen Bereich - hier könnte Sky eine interessante Evolutionsstufe darstellen.

Source Code

Wer sich mit Sky vertraut machen will, kann dies auf der Projektseite auf Github, wo der gesamte Source Code zur Verfügung steht. Die Entwickler betonen dabei noch einmal den experimentellen Status des Projekts, derzeit würde man noch eifrig an den Kernkomponenten arbeiten, es seien also auch inkompatible Veränderungen zu erwarten.

App-Demo

Zusätzlich wurde eine mit Sky erstelle Demo-App im Play Store veröffentlicht, die einige Möglichkeiten demonstriert, etwa eine einfache Aktien-Darstellung im Material Design. Die Startzeit ist dabei allerdings noch vergleichsweise langsam, da die App jedes Mal aus dem Netz nachgeladen wird - in Zukunft sollen solche Verzögerungen durch lokales Caching verhindert werden. (Andreas Proschofsky, 3.5.2015)