Kolumne: Mobile Welten

Mehrgleisig unterwegs: Mobile Cross-Plattform-Strategien von Adobe

Kay Glahn

Adobe entwickelt zwar Flash für mobile Browser nicht mehr aktiv weiter. Dafür bietet das Unternehmen mit der Runtime AIR und PhoneGap gleich zwei Varianten, mobile Cross-Plattform-Applikationen zu entwickeln. Doch wie fährt man als Entwickler besser?

Kein Aus für Flash

Als Adobe im November letzten Jahres ankündigte, Flash für mobile Browser nicht mehr weiterzuentwickeln, hörte es sich fast so an, als habe sich Apple letztlich doch durchsetzen können und es geschafft, Flash komplett aus allen mobilen Browsern zu verbannen. Doch das bedeutet noch lange nicht, dass Flash komplett von mobilen Endgeräten verschwindet. Adobe folgt zwar dem Trend, dass HTML5 das Mittel der Wahl ist, um interaktive Webinhalte auf mobilen Geräten darzustellen – und einen Großteil der von Flash abgedeckten kann man Funktionalitäten inzwischen auf vielen Browsern mit HTML5-Bordmitteln umsetzen. Andererseits versucht Adobe, Flash mithilfe der AIR (Adobe Integrated Runtime) als zusätzliche Anwendungsplattform außerhalb des Webbrowsers auf mobilen Endgeräten zu etablieren. Doch selbst mit Flash im mobilen Browser ist noch nicht endgültig Schluss. Denn zum einen stellt Adobe weiterhin wichtige Sicherheits-Updates zur Verfügung; zum anderen besitzt beispielsweise der Hersteller RIM eine Sourcecode-Lizenz und will damit das Flash-Plug-in für den Browser des BlackBerry PlayBooks auf eigene Faust weiterentwickeln.

PhoneGap oder AIR?

Mit der Übernahme des PhoneGap-Herstellers Nitobi durch Adobe im Oktober letzten Jahres setzt die Firma auf ein weiteres Pferd. PhoneGap erlaubt die Entwicklung von nativen Apps für verschiedene Plattformen mithilfe von Webtechnologien wie HTML5, CSS und JavaScript. Es gewährt mittels spezieller APIs auch Zugriff auf die meisten Gerätefunktionalitäten und erlaubt über Plug-ins das Einbinden von nativem Code für die jeweilige Zielplattform. Adobe hat PhoneGap inzwischen als Open Source an die Apache Foundation übergeben, wo es zunächst unter dem Namen Callback und nun unter Cordova firmierte bzw. firmiert und sich noch im Incubator-Status befindet. Mit AIR stellt Adobe auch für mobile Endgeräte eine Runtime bereit, die das Ausführen von Flash- und HTML-Inhalten ermöglicht und somit auch Flex-Anwendungen auf mobile Plattformen bringt.

Cross-Plattform-Ansätze gibt es zahlreiche, doch mit AIR und PhoneGap kommen gleich zwei vor allem unter Designern populäre Technologien aus demselben Hause. Welche die bessere ist, hängt vom jeweiligen Szenario ab. Es gibt zahlreiche Faktoren, die bei einer Entscheidung berücksichtigt werden müssen. Wenn es um Video Streaming und Gaming geht, ist die Flash-Technologie auf Basis von AIR grundsätzlich die bessere Wahl. Auch HTML5 und somit PhoneGap erlauben zwar mit dem Video-Tag inzwischen das Einbinden von Videos in Webseiten. Doch welche Formate unterstützt werden, kann sich von Plattform zu Plattform unterscheiden. Bei Flash umgeht man dieses Problem durch die einheitliche AIR Engine, sofern diese auf der jeweiligen Plattform vorhanden ist. Gleichzeitig kann hiermit auch ein DRM-Mechanismus bereitgestellt werden, der bei HTML5 ebenfalls fehlt. In Sachen Gaming oder 3-D-Animationen ist Flash in vielen Fällen HTML5 noch überlegen. Mit der hardwarebeschleunigten Rendering-Engine Stage3D schafft AIR 3.2 Frameraten von bis zu 60 Frames pro Sekunde. Auch wenn Sound synchron zu einer Animation abgespielt werden soll, liegt man mit Flash eindeutig im Vorteil.

Für HTML5 spricht die Tatsache, dass es sich um einen offenen Standard handelt und man somit ein wesentlich breiteres Spektrum an Endgeräten adressieren kann. So kann auch PhoneGap eine größere Anzahl von Plattformen abdecken: iOS, Android, BlackBerry, Windows Phone 7, webOS, Symbian und Bada. Im Gegensatz zu Flash muss man natürlich mit einer größeren Fragmentierung rechnen: Während bei Flash die zugrunde liegende Engine immer von Adobe kommt, hat man es bei HTML5 mit einer Vielzahl unterschiedlicher Browser-Engines zu tun.

Abb. 1: Adobe Shadow erlaubt das Testen von HTML5-Inhalten durch synchrones Browsen auf einer Vielzahl von gepaarten Endgeräten (Quelle: Adobe)
Synchrones Browsen mit Shadow

Um Entwicklern das Erstellen von HTML5-Inhalten zu erleichtern, hat Adobe nun das Preview- und Inspektions-Tool Shadow vorgestellt, das über die Adobe Labs Website bereitgestellt wird. Durch synchronisiertes Browsen wird eine HTML5-Seite gleichzeitig auf mehreren mobilen Geräten angezeigt. Hierbei können mehrere iOS- und Android-Geräte mit einem Chrome Web Browser auf dem Desktoprechner gepaart werden (Abb. 1). Jede auf dem Chrome-Webbrowser dargestellte Seite wird dadurch automatisch auch auf den gepaarten mobilen Geräten angezeigt. Shadow bietet außerdem die Möglichkeit, Remote Inspection und Debugging der verschiedenen gepaarten Geräte durchzuführen. Hiermit lässt sich auf den DOM Tree des Browsers der Geräte zugreifen.

Für die Entwicklung von mobilen Flash-Anwendungen stellt Adobe gleich zwei unterschiedliche Tools bereit. Mit der Eclipse-basierten Entwicklungsumgebung Flash Builder, die aktuell in der Version 4.6 vorliegt, lassen sich Cross-Plattform-Applikationen auf Basis des Open-Source-Frameworks Flex entwickeln. Flash Professional CS5.5 hingegen adressiert vor allem den Designer. Der kann damit interaktive Flash-Animationen erstellen, die dann ebenfalls auf der AIR Engine ausgeführt werden oder mit Flex-basierten Anwendungen kombiniert werden können. Doch auch für HTML5 bietet Adobe ein neues Tool in Adobe Labs mit der Bezeichnung Edge an. Dieses soll die Nachteile von HTML5 gegenüber Flash teilweise wieder wettmachen, indem der Entwickler ein Werkzeug vergleichbar mit Flash Professional angeboten bekommt. Genauso wie in Flash kann er mit der gewohnten Timeline und Stage arbeiten (Abb. 2). Ausgegeben wird aber reiner HTML5-Code, basierend auf einer JavaScript Library, die auf jQuery aufsetzt.

Abb. 2: Adobe Edge ermöglicht das Erstellen komplexer Animationen in HTML5 mit den aus Flash Professional bekannten Hilfsmitteln wie Timeline und Stage (Quelle: Adobe)
Fazit

Trotz der Abkehr von Flash im mobilen Browser setzt Adobe mit AIR weiterhin auf eine mobile Cross-Plattform-Technologie auf Basis von Flash. Zusätzlich unterstützt man den aktuellen Trend HTML5 und bietet mit PhoneGap auch hier die Entwicklung von nativen Apps für verschiedene Plattformen an. Adobe verfolgt damit zwei vielversprechende Ansätze, die es Entwicklern erlauben, die zurzeit wichtigsten Plattformen mit der gleichen Codebasis abzudecken. Hinter HTML5 steckt auf jeden Fall erhebliches Potenzial. Ob Adobe es schafft, die AIR Engine auf weitere Plattformen wie Windows Phone 7 auszuweiten, bleibt abzuwarten.

Kay Glahn ist unabhängiger Technologieberater mit den Schwerpunkten Mobile Applications und Services. Er berät internationale Kunden bei der Umsetzung von Projekten im Mobile-Bereich.
Geschrieben von
Kay Glahn
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.