What is it?
JavaFX is Sun's late entry into the field of Rich Internet
Application development, which is dominated by
Adobe's Flex, with
Microsoft's Silverlight also performing strongly. Sun has set
out to capture an even larger swathe of territory than its more
mature competitors: JavaFX applications are promised to perform
consistently on consumer products such as televisions and set-top
boxes, as well as browsers, desktop and mobile devices.
Sun describes Java as "the presentation layer for the Java
ecosystem", and claims FX will "dramatically shorten" production
time for Java developers and web designers working on applications
which integrate graphics and animation with rich text. The company
cites research indicating Java is already on more than 90% of
desktops and laptops, and 85% of mobile devices.
Rather than co-existing with and complementing Ajax
(Asynchronous Javascript and XML), as the Adobe and Microsoft
products do, JavaFX effectively replaces it. Users will have to get
to grips with a new scripting language, confusingly named JavaFX
Script (Javascript having very little to do with Java). On the plus
side, JavaFX makes use of the enormous resources of the Java
"ecosystem".
Where did it originate?
JavaFX was announced in 2007. JavaFX Script came out in spring
2008, and JavaFX 1.0 in December 2008.
What's it for?
JavaFX Script uses a declarative syntax for specifying GUI
components. Sun says interface programmers and visual designers
familiar with scripting languages will find the structure of the
programming code closely matches the actual layout of the GUI,
making it easier to understand and maintain.
You will also need to download the JavaFX Development
Environment, which includes the compiler and runtime tools, the
NetBeans IDE, plug-ins for Eclipse and Netbeans, and a mobile
emulator. The JavaFX Production Suite has further tools and
plug-ins that, for example, enable existing graphics from Adobe
Illustrator and Photoshop and other sources to be incorporated into
JavaFX applications.
What makes it special?
Developers can include existing Java code in applications built
with JavaFX Script. Sun says that because JavaFX Script is
statically typed and will have most of the same code structuring,
reuse, and encapsulation features, it is possible to create and
maintain very large programs, and support GUIs of any size and
complexity.
How difficult is it to master?
Sun has defended its decision to introduce yet another scripting
language by saying that JavaFX Script is intended for designers and
content authors, as well as developers. Those familiar with Sun's
Swing toolkit may take time to adapt, though they will find JavaFX
Script less verbose.
What systems does it run on?
Currently only Windows and Mac OS. Parts of JavaFX are still
proprietary, though Sun promises to make them all open-source using
the GPL licence.
What's coming up?
JavaFX for Mobile, Linux and Solaris are promised for this
spring, along with new tools for graphic designers.
Rates of Pay
There are no UK JavaFX jobs yet. However, as an indicator, Ajax
developers with Java are paid more than other Ajax developers.
Training
Start at
Java online
for tutorials, downloads and sample code. There are further
resources on the Java
community site which also has plenty of JavaFX-based games.
IBM
also has an introduction to JavaFX.
JavaFX will be demonstrated as part of the JavaUK Roadshow in
London on Feb 20.