Das Open Screen Project und die Zukunft von Flash

Kaum ein Thema ist im Bereich mobiler Applikationsentwicklung gefragter als die plattformĂĽbergreifende Programmierung. Der groĂźe Wunsch einer einheitlichen Laufzeitumgebung bleibt bislang noch unerfĂĽllt. Allerdings gibt es Hoffnung in Form einer mobilen Version von Adobes Flash und des Open Screen Project.

vorlesen Druckansicht
Lesezeit: 17 Min.
Von
  • Jakob Schröter
Inhaltsverzeichnis

Kaum ein Thema ist momentan im Bereich mobiler Applikationsentwicklung gefragter als die plattformĂĽbergreifende Programmierung. Der groĂźe Wunsch einer einheitlichen Laufzeitumgebung bleibt bislang noch unerfĂĽllt. Allerdings gibt es Hoffnung in Form einer mobilen Version von Adobes Flash und des Open Screen Projects.

In den vergangenen Monaten gab es viel Presseecho zum Flash Player 10.1. Obwohl der Versionssprung von 10.0 auf 10.1 klein erscheint, klangen Adobes Ankündigungen vielversprechend. Deutlich performanter und ressourcenschonender sollte die neue Runtime sein, und sie sollte auch für die mobilen Plattformen Android, Symbian, BlackBerry, WebOS, Windows Phone, LiMo und MeeGo erscheinen – inklusive Multi-Touch Unterstützung, Gestenerkennung und Zugriff auf GPS und Beschleunigungssensoren. Trotz konsistenter Runtime will es Adobe ermöglichen, spezifische Funktionen des jeweiligen Endgeräts zu implementieren – "Respect the soul of the device" heißt das bei Adobe [1] (PDF, S. 24).

Anwender möchten eine Applikation heute nicht mehr nur am stationären Computer bedienen, sondern sie auch unterwegs mit dem mobilen Gerät oder zu Hause auf der Set-Top-Box nutzen können. Vor allem soll sich die Anwendung mit spezifischen Gerätefunktionen bedienen lassen: Auf einem Smartphone muss das User Interface auf die Bedienung mit einem Touchscreen optimiert sein, während die Desktop-Anwendung mit Maus und Tastatur und die gleiche auf dem Fernsehgerät im Wohnzimmer per Fernbedienung bedienbar sein sollte. Mit der steigenden Verbreitung von unterschiedlichen multimedialen Geräten wächst der Bedarf nach einer Technik, die Inhalte und Anwendungen mit überschaubarem Aufwand auf vielen Plattformen anbieten kann.

Dabei sollte sie für alle Clients dieselbe Geschäftslogik verwenden, die sich um eine clientspezifische Präsentationsschicht erweitern lässt. Das gewährleistet, dass sich die Anwendungen auf allen Plattformen gleich verhalten, die Besonderheiten der jeweiligen Client-Plattform aber trotzdem gewahrt bleiben. Leider existiert bis heute keine Plattform, die eine Entwicklung solcher Applikationen für Desktop, Mobil- und Home-Entertainment-Geräte mit vertretbarem Aufwand und Kosten ermöglicht. Sun und jetzt Oracle bieten mit Java zwar eine solche Technik an, allerdings fand deren mobile Runtime unter Entwicklern wegen der mangelhaften Implementierungen der Java Virtual Machines (JVMs) unterschiedlicher Hersteller, der großen Fragmentierung von Endgeräten und ihren teilweise fehlenden Hardwareressourcen bislang nicht den erhofften Anklang. Suns Marketing-Slogan für Java "Write once, run anywhere" gilt heute für mobile Endgeräte nur als teilweise erfüllt.

Dass Flash nicht nur auf dem Desktop-Rechner unter Windows, Mac OS X oder Linux läuft, hat die Technik in der Vergangenheit bewiesen. 2000 wurde auf Sonys PlayStation 2 eine nicht öffentliche
Runtime des Flash Player für die Benutzeroberflächengestaltung von Spielen eingesetzt [2]. Heute ist Flash auf Spielkonsolen wie der Wii, PlayStation 3 oder PlayStation Portable offiziell verfügbar. Seit 2003 werden auch Mobiltelefone, Set-Top-Boxen oder Multimedia-Player mit Flash Lite, einer abgespeckten Variante der Flash Runtime ausgestattet. Dabei kommt Flash nicht nur als Browser-Plug-in oder für Stand-alone-Applikationen zum Einsatz: Häufig findet es innerhalb der Präsentationsschicht einer Anwendung Verwendung und spricht Funktionen der Geschäftslogik an – und damit beispielsweise in C oder Java entwickelten Code. Teilweise läuft Flash auch im Hintergrund für Bildschirmschoner, bei animierten Hintergrundbildern oder User Interfaces.

Ob Flash die richtigen Laufzeitumgebungen für plattformübergreifende mobile Anwendungen bieten kann, muss Adobe erst noch beweisen. Die klassische zeitleistenbasierte Flash-Entwicklung für Browser-Plug-ins wird mit Sicherheit nicht die Grundlage für solche Applikationen sein. Diese Anwendung hat Flash zwar groß gemacht – im Rahmen von Cross-Plattform-Anwendungen muss sich Flash jedoch auch außerhalb des Browsers nutzen lassen. Das für leistungsschwächere Geräte abgespeckte Flash Lite fand trotz weiter Verbreitung auf den Geräten nicht den erhofften Anklang bei Entwicklern und Anwendern in Europa und Amerika. Anzumerken sei, dass es in Japan allerdings große Zustimmung findet und dort eine wichtige Technik in der mobilen Entwicklung ist. Derzeit bewirbt Adobe die neue Flash-Lite-Version 4 kaum, obwohl sie bereits in den Browsern einiger Geräte wie dem HTC Droid Incredible vorinstalliert ist.

Auf modernen und leistungsfähigen Smartphones benötigt man eine mit dem Desktop vergleichbare Laufzeitumgebung, die Flash Lite bisher nicht vorweisen kann. Die neue Version bietet zwar Unterstützung für ActionScript 3.0, beherrscht jedoch noch kein AIR (Adobe Integrated Runtime). Das Flex-Framework und andere ActionScript-Bibliotheken lassen sich aufgrund mangelnder Hardwareressourcen nicht ohne Weiteres auf mobilen Endgeräten nutzen. Adobe entwickelt daher derzeit an einer mobilen Flex-Version, die "Slider" genannt wird und noch in diesem Jahr veröffentlicht werden soll.

Mit ActionScript 3.0, Slider und AIR stehen Adobe leistungsstarke Tools zur Verfügung, aus deren Kombination eine überzeugende Runtime für mobile Plattformen entstehen könnte. Die ausgereifte Tool-Suite des Unternehmens könnte hierzu einen derzeit einzigartigen Workflow für das Erstellen mobiler Anwendungen bieten. Neben der Nutzung des Browser-Plug-ins innerhalb von Webbrowsern können Entwickler mit AIR 2.0 eigenständige Applikationen mit eigenem Icon in der Programmliste des Endgeräts entwickeln. Die mit AIR erstellten Anwendungen sollen sich zudem über die Applikations-Shops der Plattformen vertreiben lassen. Das ist ein wichtiger Anreiz für Entwickler, die sich somit nicht um einen eigenen Distributionsweg und ein Abrechnungssystem kümmern müssen.