JavaFX Preview SDK

Mehr als nur Spielerei

Das JavaFX durchaus das Zeug zu mehr als nur kleinen Spielereien hat, deuten bereits die ersten Demos an, die auf Basis des neuen SDKs entstanden sind. Auch JavaFX Script scheint inzwischen deutlich durchdachter als es noch der erste Wurf in 2007 war.

So erlaubt ein Node basierter Ansatz eine bessere Strukturierung von Elementen und die Verwendung von Scenes in Kombination mit verschiedensten Effekten, wie zum Beispiel Transformationen, eine deutlich vereinfachte Animation der einzelnen UI Elemente.

Natürlich gibt es nach wie vor Fehler in den APIs und in dem NetBeans-Plug-in. Allerdings muss man Sun zugestehen, dass die aktuelle Preview Phase des SDKs genau zum Auffinden dieser Fehler angedacht ist – so machen es schließlich auch die anderen, wie zum Beispiel Apple mit dem iPhone SDK oder Google mit Android. 

Draggable Browser Applets

Wirklich beeindruckend ist die Möglichkeit, JavaFX basierte Browser Applets auf den Desktop zu ziehen und dort – unabhängig vom Browser – weiter laufen zu lassen (Abb. 3). Dies geht auch dann, wenn der Browser geschlossen wird. Ermöglicht wird dies durch die vollständig überarbeitete Browser Schnittstelle der JRE 1.6 Update 10.

Abb. 3: Draggable Browser Applet
Wieso „so spät“?

Für das späte Release des JavaFX SDKs – wir reden aktuell immer noch von einem Preview, das von Sun Microsystems genutzt wird, um Nutzer-Feedback zu sammeln und nicht von einer finalen Version, die zur Implementierung produktiver Anwendungen geeignet ist – gibt es zwei Gründe:
Zum einen musste eine sinnvolle Grundlage für JavaFX in Form des JRE 1.6 Update 10 geschaffen werden. Erst die darin enthaltenen Möglichkeit zum partiellen Download des JREs macht es möglich, dass Java Applets – und somit auch JavaFX Anwendungen im Browser – auf Rechnern ohne JRE in erträglicher Zeit, inklusive der notwendigen JRE Klassen, geladen werden können. Während das gesamte JRE 1.6 mittlerweile eine Größe von ca. 14,5 MB erreicht hat, langt es für die meisten Applets aus lediglich ein Drittel der APIs zu laden (Abb. 4).

Abb. 4: JRE Download Größen (Quelle: Sun)

Ein weiteres wichtiges Features des JRE 1.6 Update 10 stellt das neue Java Plug-in für den Firefox 3 und den Internet Explorer dar. Es erlaubt Applets auch außerhalb des Browsers laufen zu lassen und bietet somit die Möglichkeit, ein und dieselbe JavaFX-Anwendung sowohl im Browser als auch auf dem Desktop zu launchen. Ermöglicht wird dies durch die Verwendung des Java Network Launching Protocolls (JNLP), das bereits bei Java Web Start zum Einsatz kommt.

Zum anderen ist das verzögerte Release des SDKs auch der zu großen JavaFX-Euphorie in 2007 geschuldet. Zu schnell und zu unüberlegt wurde damals die JavaFX Script Language aus dem Boden gestampft – eine Tatsache die sich später gerächt hat.

Dies wird u.a. in dem Blog von Joshua Marinacci, Staff Engineer von Sun Microsystems – JavaFX Design Tools, deutlich:

Since JavaOne 2007 we’ve built (from scratch), a compiler for a new language with many non-trivial features, a GUI runtime with a new graphics and animation stack, new netbeans plugins with code completion, utilities for graphic designers, a new kind of javadocs (rewritten from the ground up), plus docs, samples, and demos.

Ist „so spät“ gleich „zu spät“?

Welche Chancen Sun Microsystems mit JavaFX in der Zukunft am hart umkämpften RIA-Markt haben wird, ist zum aktuellen Zeitpunkt nur schwer abzuschätzen.
Während die meisten Mitbewerber versuchen, den Markt über die Grafik-Designer zu erobern, konzentriert sich Sun mit dem Release 1.0 des JavaFX SDKs voll und ganz auf die schs Millionen große Gemeinde der Java-Entwickler und versucht das Feld von der Basis aus anzugehen. Da sich die JavaFX basierte Entwicklung von UIs deutlich einfacher und effizienter gestaltet als mit den herkömmlichen Mitteln (Swing und SWT), könnte so schnell eine große Lobby geschaffen werden.

Um aber auch die Grafikdesigner nicht außen vor zu lassen, stellt Sun parallel Plug-ins für verschiedene Adobe Tools zur Verfügung (Projekt NILE), mit deren Hilfe Illustrator und Photoshop Grafiken direkt in JavaFX-Klassen exportiert und in NetBeans um Anwendungslogik erweitert werden können. Dank dieser Maßnahme schafft es Sun, mit überschaubaren Mitteln die notwendige Brücke zwischen Java Entwicklern und Grafik Designern zu schlagen.

Letzteres scheint ein kluger Schachzug zu sein, da – wie bereits oben erwähnt – ein eigenes Desig- Tool aus dem Hause Sun frühestens für Anfang 2009 avisiert wurde und auch dann noch fraglich ist, ob dieses von der Designer-Community angenommen werden wird.

Fazit

Der große Benefit von JavaFX läst sich eigentlich erst dann bemessen, wenn neben dem Desktop noch weitere Plattformen, wie zum Beispiel für 2009 angekündigt die mobilen Endgeräte, unterstützt werden.

Einen wesentlichen Vorteil gegenüber dem ärgsten Widersacher Flash/Flex kann man aber auch heute bereits nutzen: die Vielzahl an Java APIs und Java Frameworks, sowie das enorme Java Know-how am Markt.

Bezeichnend ist, dass die größten Skeptiker nicht von den Mitbewerbern, sondern aus dem eigenen Lager – der Welt der Java Entwickler – zu kommen scheinen. Nicht die Technologie ist dabei der große Sorgenträger, sondern vielmehr Sun Microsystem mitsamt seiner Kommunikationspolitik selbst. Die vielen, nicht eingehaltenen Ankündigungen der letzten Monate rund um das Thema JavaFX haben bei den Etwickler eine große Hürde aufgebaut, sich mit der „neuen“ Technologie zu beschäftigen. Es ist es an Sun zu beweisen, dass sich diese Investition wirklich lohnt.

Ein erster Schritt ist – gerade noch rechtzeitig – gemacht: Das JavaFX Preview SDK.

Lars Röwekamp, Gründer des IT-Beratungs- und Entwicklungsunternehmens
OpenKnowledge GmbH, beschäftigt sich mit der eingehenden Analyse und
Bewertung neuer Software- und Technologietrends. Ein besonderer Schwerpunkt
seiner Arbeit liegt auf den Bereichen Enterprise und Mobile Computing, wobei
neben Design- und Architekturfragen insbesondere die Reallife-Aspekte im
Fokus seiner Betrachtung stehen.

Lars Röwekamp, Autor mehrerer Fachartikel und -bücher, beschäftigt sich seit
der Geburtsstunde von Java mit dieser Programmiersprache, wobei er einen
Großteil seiner praktischen Erfahrungen im Rahmen großer, internationaler
Projekte sammeln konnte.

Kommentare

Schreibe einen Kommentar

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