Please hold the Line!

JavaFX Mobile hebt nicht ab - Part 2

 

Theorie vs. Praxis

Was sich in der Theorie gut anhört, hat sich in der Praxis bisher leider nicht durchsetzen können. Während es mittlerweile deutlich über 150 000 iPhone-Apps und ca. 30 000 Android-Anwendungen gibt, ist die Zahl der „Real-Life“-JavaFX-Anwendungen im Allgemeinen und die der JavaFX-Mobile-Anwendungen im Speziellen im Markt vernachlässigbar. Woran liegt das?

Zunächst muss man sich sicherlich einmal die Konkurrenz von JavaFX vor Augen halten. Da sind zum einen Flash/Flex und Silverlight für das Web. Im Bereich Mobile dagegen stellen Apples iPhone SDK, das Android SDK sowie das RIM SDK die Platzhirsche. Zwar wird durch diese drei Kandidaten nur ein Teil des gesamten Handset-Markts abgedeckt, aber dies ist eben genau der Teil, in dem Geld über den Verkauf von Mobile Apps generiert wird und somit ein realer Markt existiert.

Sieht man sich einmal die oben beschriebene Konkurrenzsituation an, so fällt auf, dass vor allem „Spezialanbieter“ die Nase vorn haben. So hat Apple z. B. nicht den Anspruch, ein- und dieselbe Anwendung sowohl auf dem Desktop als auch im Web und zu guter Letzt noch auf dem iPhone zum Laufen zu bringen. Und selbst für so verwandte Devices wie iPhone und iPad gibt der Style Guide klar vor, dass man aus ergonomischen Gesichtspunkten jeweils die speziell für das Ziel-Device dedizierten UI-Komponenten verwenden soll. „Write once, run anywhere“ scheint somit zwar medienwirksam zu sein, stellt in der Realität aber eher eine Bürde als einen Nutzen dar.

Auch die Anzahl der unterstützten Devices ist sicherlich ausschlaggebend für den bisher ausgebliebenen Erfolg von JavaFX Mobile. Offiziell werden nach wie vor nur zwei Geräte – LG Incite und HTC Touch Diamond – unterstützt. Zwar sollten JavaFX-Mobile-Anwendungen auch auf allen anderen Windows-Mobile-6-Endgeräten funktionieren, es wird aber ausdrücklich darauf hingewiesen, dass in diesen Fällen kein Support geleistet werden kann. Zwei mehr oder minder weit verbreitete Devices und nur ein unterstütztes mobiles Betriebssystem: Das ist ein bisschen wenig, um die Welt zu erobern.

Neben all den bisher genannten Gründen gibt es aber auch ganz pragmatische, technologische Faktoren, die aktuell dem Erfolg von JavaFX Mobile entgegenstehen. Einer davon ist die nach wie vor ungenügende Performance. Möchte man eine Anwendung erstellen, die deutlich mehr kann, als nur ein paar Tweets via REST API auszulesen, anzuzeigen und zu aktualisieren, dann stößt man beim aktuellen Stand der Dinge sehr schnell an die Grenzen des Machbaren. Was sich im Mobile Simulator noch performant verhält, wird spätestens auf dem realen Endgerät zur Qual. Anwendungen, wie sie aktuell in Apples App Store oder im Android Market unter den Top 20 zu finden sind, scheinen unter dem Aspekt der Usability nahezu nicht realisierbar.


Die Zukunft

Die gute Nachricht: Oracle hat sich seit der Übernahme von Sun Microsystems mehrfach klar zur Weiterentwicklung von JavaFX comittet und signalisiert, dass man bereit sei, deutlich mehr Geld in dieses Thema zu investieren, als es in der Vergangenheit der Fall gewesen ist. Dass dies nicht nur reines Marketing ist, zeigen die seit dem erschienenen neuen Releases von JavaFX.

Ebenfalls positiv zu bewerten ist die Tatsache, dass es erste Prototypen von JavaFX auf Android-Geräten bzw. -Emulatoren gibt und andere Mobile OS folgen sollen. Ob es am Ende tatsächlich eine JavaFX Runtime für Android geben wird, ist eher eine strategische Entscheidung von Oracle und Google.

Des Weiteren liest man in den verschiedenen JavaFXForen immer wieder von einem geplanten JavaFX MSA Player, d. h. einer Java Runtime, die als Basis „lediglich“ die Mobile Service Architecture (JSR 248) benötigt und somit eine sehr große Menge an mobilen Endgeräten JavaFX „enablen“ würde. Dies wären ein großer und wichtiger Schritt für JavaFX Mobile und gleichzeitig der Schlüssel zu einem deutlich größeren Markt.


Fazit

JavaFX Mobile scheint in der Theorie der richtige Schritt zu sein, um Java auf den verschiedenen, mobilen Endgeräten endlich die Bedeutung zukommen zu lassen, die es verdient. Ausreichend Potenzial ist in Form von Java ME APIs, bestehendem Java-Community-Code und jeder Menge Mobile-Java-Entwicklern vorhanden. In der Praxis hängt JavaFX Mobile dagegen um Lichtjahre hinter seinen Konkurrenten aus den Häusern Apple, Google und RIM hinterher. Alle drei zeichnen sich durch klare Strategien und das Vermeiden von Fragmentierung aus.

Ein wichtiger Schritt zum Erfolg könnte die Verbreitung einer einheitlichen JavaFX Runtime auf Basis des MSA (JSR 248) für alle wichtigen Mobile OS werden – ausgenommen dem iPhone-OS natürlich, denn da hält Steve Jobs auch in Zukunft mit sehr hoher Wahrscheinlichkeit seine „schützende“ Hand vor. Ein weiterer wichtiger Schritt wäre der Auf- bzw. Ausbau des JavaFX-Mobile-Profiles um wichtige Handset-Funktionalitäten. Denkbar wären vereinfachte Zugriffe auf das Adressbuch oder den Kalender – falls vorhanden. Und natürlich eine direkte Unterstützung der Telefonie- und SMS-/MMS-Features.

Der Titel dieses Artikels „Please hold the Line!“ ist nicht von ungefähr so gewählt. Bezieht man ihn auf den heutigen Stand von JavaFX Mobile, so ist er ein Indiz für die bisher noch unzulängliche Performanz. Blickt man aber in die Zukunft, so kann der Titel auch als Aufruf gesehen werden, nicht aufzugeben. Potenzial ist ausreichend vorhanden – es gilt nun, dieses auch zu nutzen.

Teile

Lars Röwekamp
Lars Röwekamp

Was denken Sie?

Kommentare

Letzte Meinungen