Artikel

 
März 2009 | Artikel

JavaFX macht mobil

(Link zum Artikel: http://www.it-republik.de/jaxenter/artikel/2165)

Was bietet JavaFX Mobile?

Text: Kay Glahn
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share

Nachdem Sun im Dezember letzten Jahres die lange erwartete Version 1.0 von JavaFX angekündigt hatte, hat man nun am 12. Februar rechtzeitig zum Mobile World Congress in Barcelona die Version 1.1 nachgelegt, die als wichtigste Neuerung JavaFX Mobile beinhaltet. Somit wird es nun erstmals möglich, plattformübergreifend Anwendungen zu entwickeln, die sowohl auf dem Desktop und dem Browser als auch auf mobilen Endgeräten laufen.

Während Sun ursprünglich geplant hatte, mit JavaFX Mobile ein Advanced-Mobile-Betriebssystem zu entwickeln, in das die Technologien, die man bei der SavaJe-Akquisition eingekauft hatte, eingebracht werden sollten, hat man sich nun entschieden, JavaFX Mobile auf allen Betriebssystemen bereitzustellen und als Ergänzung von Java ME anzubieten. Man ist also bei Sun von dem Plan abgekommen, einen kompletten Betriebssystem-Stack mit integrierter Anwendungsplattform zu vermarkten, der dann direkt mit Systemen wie Android konkurriert hätte. Stattdessen ist das Ziel nun, JavaFX Mobile auf so vielen Geräten wie möglich bereitzustellen – nämlich allen, die Java ME unterstützen, was zum Beispiel auch Android, Windows Mobile und proprietäre Realtime-Betriebssysteme einschließt. Hierfür hat man sich mit einer Reihe namhafter Hersteller aus dem Bereich der mobilen Kommunikation zusammengetan. Dazu gehören unter anderem Sony Ericsson, LG Electronics, Orange, Sprint, Cynergy und MobiTV.

Unterstützung aus der Industrie

Sun hat JavaFX Mobile auf dem diesjährigen Mobile World Congress in Barcelona bereits auf Windows-Mobile-Geräten von Sony Ericsson und LG und auf einem Java-fähigen Feature Phone von Sony Ericsson vorgeführt. Laut Sun arbeitet man aber an der Unterstützung von weiteren Plattformen, wozu auch Android und LiMo gehören. Dass JavaFX auch auf der Android-Plattform läuft, hat Sun bereits auf der letzten JavaOne demonstriert. Auch von den Geräteherstellern wie Sony Ericsson kommt starke Unterstützung. Sony Ericsson geht davon aus, dass JavaFX Mobile einen starken Einfluss auf das mobile Content Ecosystem haben wird, und plant, JavaFX auf einer Großzahl seiner Geräte bereitzustellen. JavaFX soll aber nicht auf Mobiltelefone beschränkt bleiben, sondern in Zukunft auch auf Fernsehern und weiteren Geräten laufen.

JavaFX Mobile soll es Entwicklern ermöglichen, die Stärken von Java ME als Basis auszunutzen und Multimediainhalte und -anwendungen für eine Vielzahl mobiler Endgeräte zu erstellen. Hierbei baut JavaFX Mobile auch auf die bewährte Sicherheitsarchitektur von Java ME und nutzt die bestehenden APIs für den Zugriff auf telefonspezifische Fähigkeiten wie Adressbücher, Bluetooth, Kameras, Ortungs- oder Dateisysteme. Außerdem ist der Zugriff auf jede beliebige Java Library von JavaFX aus möglich. Da JavaFX-Anwendungen in Java-Bytecode kompiliert werden, können sie die Performanzvorteile bestehender Java VMs- z.B. der Java Hotspot VM ausnutzen. Das einheitliche Set von Media APIs ermöglicht die Wiedergabe von Medien über alle JavaFX-Geräte hinweg, ohne dass sich der Entwickler um das darunterliegende Media-Framework oder vorhandene Codecs kümmern muss.

Die JavaFX-Plattform basiert auf JavaFX Script, das speziell für Webskripter und Content-Autoren entwickelt wurde, die in einem visuellen Kontext arbeiten, und eine einfache, deklarative Syntax bereitstellt. Es ermöglicht dadurch Grafik, Animation, Rich-Text, Audio und Video in die Applikation zu integrieren und die Applikationslogik und Back End-Integration in Java zu realisieren. Die JavaFX-Plattform ist laut Sun allerdings nicht auf JavaFX beschränkt, sondern ist in der Lage, weitere Skriptsprachen zu unterstützen und kann bei Bedarf entsprechend erweitert werden, um beispielsweise ECMA-basierte Sprachen und XML-basierte Markup Languages zu unterstützen.

Mobile steht im Fokus

Was die Version 1.1 von JavaFX betrifft, so gibt es einige kleine Verbesserungen auf der Desktopseite, aber der Fokus liegt hier wirklich auf JavaFX Mobile. Die größte Neuerung ist aber, dass man nun tatsächlich ein einziges SDK für den Desktop- und den Mobile-Bereich einsetzen kann und RIAs mit dem gleichen SourceCode sowohl auf dem Desktop als auch auf dem Handy laufen, was JavaFX von anderen RIA-Plattformen wie Flex unterscheidet, wo man ein separates Flex Lite für mobile Endgeräte benötigt. Trotzdem hat der JavaFX-Mobile-Entwickler immer noch die Möglichkeit, die Anwendung auf die Anforderungen mobiler Endgeräte zu optimieren und anzupassen, falls dies gewünscht ist.

Doch wie bekommt man als Entwickler nun eine JavaFX-Anwendung auf einem Handy zum Laufen? Die eine Variante ist, dass die JavaFX Mobile Runtime bereits auf dem Endgerät vorinstalliert ist, und bei der anderen Variante wird die Runtime zusammen mit der JavaFX-Applikation gebündelt und alles zusammen in Form kompilierten Bytecodes over-the-air bereitgestellt. Auf diese Weise können JavaFX-Anwendungen problemlos auf bestehenden Java-ME-Geräten mit entsprechenden Mindestvoraussetzungen, bzw. Geräten, die MSA (Mobile Service Architecture) unterstützen, ausgeführt werden. JavaFX konkurriert mit Microsoft Silverlight, hat aber den Vorteil, dass viele Anbieter von mobilen Diensten und Gerätehersteller bereits seit Langem auf Java ME setzen, und somit auf einen Schlag eine breite Palette von bestehenden Endgeräten abgedeckt werden kann.

Sun arbeitet mit Geräteherstellern und Netzwerkbetreibern zusammen und wird Out-of-the-Box-Unterstützung für JavaFX Content anbieten, indem die JavaFX Mobile Runtime auf Geräten vorinstalliert wird. Geräte sollen laut Sun ab der JavaOne 2009 für Entwickler verfügbar sein und ab Ende des Jahres dann auch an Endkunden ausgeliefert werden. Für Gerätehersteller und Netzwerkbetreiber ist die JavaFX Mobile Runtime bereits seit Februar 2009 verfügbar, um sie zu testen und auf Geräten vorzuinstallieren.

Tools stehen bereit

Entwickler und Designer können die gleichen JavaFX-Tools wie für den Desktop und den Browser auch für mobile Apps verwenden. Um mit der Entwicklung von JavaFX Mobile zu beginnen, stehen dem Entwickler mehrere kostenlose Tools zum Download zur Verfügung. Dies ist zum einen die NetBeans IDE 6.5 for JavaFX 1.1, die alle notwendigen Hilfsmittel bereitstellt, um JavaFX-Anwendungen zu erstellen, zu testen und zu debuggen. Der Entwickler kann einfach per Drag&Drop JavaFX-Komponenten aus einer Palette zusammenstellen und somit relativ schnell Transformationen, Effekte und Animationen erstellen. Außerdem werden eine Reihe von Beispielprogrammen mitgeliefert, um den Einstieg in JavaFX zu erleichtern. Enthalten ist natürlich auch ein JavaFX Mobile Emulator, mit dem man bereits jetzt beginnen kann, Applikationen für mobile Endgeräte zu entwickeln und auf dem Emulator zu testen. Möchte man bei der Entwicklung von JavaFX-Anwendungen nicht auf NetBeans angewiesen sein, dann kann man auch das JavaFX 1.1 SDK herunterladen, das nicht die komplette IDE enthält, sondern sich auf den Compiler, die Runtime Libaries sowie den JavaFX Mobile Emulator beschränkt. Für Entwickler, die lieber mit Eclipse arbeiten, stellt Sun das Open-Source-JavaFX-Plug-in für Eclipse bereit, das ebenfalls als Download zur Verfügung steht.

Ein weiteres Tool, das von Sun für JavaFX bereitgestellt wird, ist die JavaFX Production Suite, die es Designern und Entwicklern ermöglicht, auf interaktive Weise zusammenzuarbeiten und ihren Workflow zu organisieren. Die Production Suite stellt JavaFX-Plug-ins für Adobe Photoshop und Illustrator CS3 bereit und ermöglicht es Grafikdesignern so, mit ihren gewohnten Tools zu arbeiten und ihre Ergebnisse in das JavaFX-Format zu exportieren. Außerdem erlaubt es die integrierte JavaFX Media Factory-SVG-Grafiken in JavaFX-Script-Code zu konvertieren. Im nächsten Schritt können Entwickler dann auf die Ressourcen im JavaFX-Format zurückgreifen und Animationen, Effekte und Data Bindings hinzuzufügen, um sie schlussendlich in JavaFX-Applikationen zu integrieren. Hierbei bleiben die Layer und die Struktur der grafischen Elemente erhalten.

Bisher laufen JavaFX-Applikationen auf Windows oder Mac OS X, die mindestens Java 1.5 bereitstellen. Sun hat aber den Support von Linux und Solaris für die nächste Version im Laufe des Jahres 2009 bereits angekündigt. Der JavaFX Mobile Emulator ist bisher lediglich für Windows verfügbar.

Mit der Version 1.1 von JavaFX hat Sun nun endlich das vor fast zwei Jahren gemachte Versprechen eingelöst, JavaFX-Applikationen neben dem Desktop auch auf mobile Endgeräte zu bringen. Jetzt bleibt nur noch abzuwarten, wie gut das neue Konzept von Designern akzeptiert wird, und ob die JavaFX mobile Engine sich wirklich auf einer breiten Masse von Endgeräten durchsetzen kann. Die Chancen stehen jedenfalls gut, da die Basis von JavaFX Mobile – Java ME bzw. MSA – bereits auf einer Großzahl von Geräten am Markt vorhanden ist.

Kay Glahn ist unabhängiger IT-Berater mit den Schwerpunkten Wireless Applications und Mobility. Er berät internationale Kunden bei der Umsetzung von Projekten im Mobile-Bereich.
  1. JavaFX Mobile Website
  2. JavaFX Mobile Launch
  3. JavaFX-Tools-Download
  4. JavaFX-EclipsePlug-in
  5. Lars Röwekamp: JavaFX 1.0 – Ein erster Eindruck, Java Magazin 02.2009
  6. JavaFX: Neue Tools im Test


Anzeige

Kommentare


Anzeige

zurück zum Seitenanfang