Sky - Dart on Android: Google arbeitet an Java-freier Programmiersprache mit 120 fps

Rafael Thiel 1

In Android sind die meisten Anwendungen bekanntlich in Java geschrieben. Bei Google arbeitet ein kleines Team aktuell daran, die hauseigene Dart-Skriptsprache für mobile Betriebssysteme anzupassen. Zu den Vorteilen des sogenannten „Sky“-Projekts gehören eine erheblich bessere Performance mit bis zu 120 Bildern pro Sekunde sowie tiefgreifende Web-Unterstützung.

Sky - Dart on Android: Google arbeitet an Java-freier Programmiersprache mit 120 fps

Das mittlerweile 20 Jahre alte JavaScript sorgte auch in Mountain View für Probleme und Frust. Infolgedessen hat das Team, das für die JavaScript-Engine in Chrome 8 zuständig war, eine eigene Skriptsprache namens Dart entwickelt. Vor kurzem stellte besagte Gruppe auf einer eigenen Entwicklerkonferenz das „Dart on Android“-Projekt vor, das kurzerhand Sky getauft wurde. Dieses quelloffene Experiment zielt darauf ab, die herkömmliche App-Entwicklung mit Java abzulösen.

Der vermutlich größte Vorteil des ebenfalls objektorientierten Sky gegenüber Java dürfte die schiere Geschwindigkeit sowie die für gewöhnlich äußerst kurze Reaktionszeit sein. Auf der Präsentation versprach das Team, mit Sky beeindruckende 120 HZ – also 120 fps (Frames per Second (Bilder pro Sekunde)) – erzielen zu können. Zum Vergleich: Die heutigen Bildschirme unterstützen in der Regel lediglich 60 Hz; demzufolge wird die Anzeige alle 16 Millisekunden aktualisiert. Die meisten Anwendungen unter Android erreichen nicht einmal diese 60 Hz, was sich in kleinen Rucklern bei Animationen bemerkbar macht. Somit könnte Sky tatsächlich einen enormen Performancegewinn bedeuten.

Sky-Dart-Android-Demo-App-1
Sky-Dart-Android-Demo-App-2
Sky-Dart-Android-Demo-App-3

Im Zuge der Konferenz wurde auch eine App zu Demonstrationszwecken gezeigt, die zudem in den Play Store gestellt wurde und in unserem ersten kurzen Test tatsächlich äußerst flott unterwegs ist. Diese Sky-Demo ist zwar nicht sonderlich anspruchsvoll, rendert jeden Frame aber konstant innerhalb von 1,2 Millisekunden. Für 120 Hz, was einem 8 Millisekunden-Takt gleichkommt, scheinen also noch genug Leistungsreserven vorhanden zu sein. Das wird durch eine losgelöste Verwaltung der Benutzeroberfläche erreicht, sodass langsame Hintergrundprozesse nicht auf die Performance des UI einwirken – die jeweiligen Programmierschnittstellen sind strikt getrennt.

Bilderstrecke starten
18 Bilder
Android-Versionen: Das Google-Betriebssystem.

Android, iOS und Co. – Sky ist durchweg plattformagnostisch

Hinzu kommt noch, dass Sky im Grunde gänzlich plattformagnostisch ist; bedeutet: Derselbe Code kann theoretisch unter Android, iOS oder jeder anderen Plattform mit einer Dart VM (Virtual Machine) laufen. Das wird auch dadurch ermöglicht, dass mit Sky programmierte Anwendungen ein gewisser Weise wie eine Webseite fungieren: Neben einer grundlegenden APK-Datei für Android wird ein großer Teil der App über das HTTP-Protokoll aus dem Internet geladen. Dadurch kann etwa eine Anwendung aktualisiert werden, ohne ein Update auf das Smartphone oder Tablet einspielen zu müssen.

Der Nachteil dieses Prinzips jedoch ist, dass Sky-Apps aktuell ohne Internetanbindung nicht lauffähig sind und der Start die ein oder andere Sekunde in Anspruch nimmt, weil Daten aus dem Internet geladen werden müssen – beiden Problemen wäre durch Zwischenspeicherung beizukommen. Außerdem gilt es noch ein verlässliches Sicherheitssystem einzuführen, da die Anwendung ohne Zutun des Nutzers im Hintergrund aktualisiert werden kann; aktuell werden wie bei jeder App im Play Store lediglich die benötigten Berechtigungen eingefordert. Für Android hat das Team darüber hinaus bereits ein Sky Framework vorgestellt, das diverse Material Design-Elemente zur einfachen Implementierung enthält.

Bei Sky handelt es sich wohlgemerkt aktuell noch um ein Experiment, dessen sicherlich vorhandene Baustellen zunächst beseitigt werden müssen, bevor es als wohlwertige Alternative zu Java wahrgenommen werden kann. Bei Github stellt das Team Code zum Testen und Experimentieren zur Verfügung, der ebenso wie das Sky Framework und die Sky Engine laufend erweitert und aktualisiert wird. Nur einen Tag nach der Präsentation gab das Team bekannt, die Arbeit am Dart Editor einzustellen und sich stattdessen auf Plug-Ins und den Dart Analysis Server konzentrieren zu wollen – mittlerweile unterstützen gängige Entwicklungsumgebungen wie Eclipse oder IntelliJIDEA die Skriptsprache via Plug-In.

Die App konnte im App Store nicht gefunden werden.

Quelle: Google via Ars Technica, Heise

Zu den Kommentaren

Kommentare zu dieser News

* gesponsorter Link