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.
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.
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.
This was first published in January 2009