Sun is set to shake up the world of software development with the unveiling of JavaFX, a new product family that will cover a complete spectrum of development from the desktop to the Web to mobile devices. The JavaFX platform will rejuvenate the Java development community and place it squarely in the path of Adobe Flex and Microsoft Silverlight. But the vision for JavaFX is much more ambitious.
The first product in the JavaFX family will be JavaFX Mobile. Traditionally a safe territory for Java ME (Micro Edition) based programs, mobile devices are increasingly the target of competing technologies such as Flash Lite and Silverlight Embedded. Rather than see this lucrative market slip away, Sun hopes to leapfrog the competition with JavaFX. According to Rich Green, Sun VP of Software, "JavaFX Mobile is a complete software system from the metal on up." JavaFX Mobile is largely based on the work done by SavaJe, a company Sun recently acquired that made pure-Java cell phones.
A new scripting language for Java called JavaFX Script (formerly referred to by the codename "F3") is "focused on the content-authoring and creation crowd," according to Green. "It is a means of creating visually impactful, high-performance, dramatic Web and network-facing artifacts or experiences that run all the way from the desktop running Java SE (Standard Edition) all the way down to mobile devices powered by JavaFX Mobile." Because it is based on the same core virtual machine as regular Java, JavaFX Script programs will have access to a vast array of existing code and libraries.
JavaFX will be open sourced under the same GPLv2 license used by Java SE (standard edition) and Java ME (mobile edition). Commercial licenses will be available as well.
Statements from Sun executives so far indicate that it will rely on the user already having installed the Java SE/ME runtime. For mobile devices this won't be a problem because when you buy a phone it will come with Java already installed. But for desktop users this might mean a big download and frequent updates, a strategy that has failed in the past. By contrast, Flash installs are "frictionless" with no user questions, no scary security warnings, and usually not even a need to restart the browser (let alone the whole computer).
Update: In an afternoon session, Java SE Platform lead Danny Coward acknowledged problems with the Java install's download size and user experience, and indicated his team was working on a special release called the "Consumer JRE". This will let applets and applications start much more quickly. He also referred to the Java Kernel project which aims to modularize the JRE. "The user can take a minimal version sufficient to run basic apps," according to Danny, "with the rest of the platform downloaded in parallel." The time frame for when this will be available was unclear.
NetBeans and Eclipse plug-ins are available now for authoring JavaFX Script content, as are the JavaFX Script runtime, library source, and demo source code files. Developers have already demonstrated conversion utilities for translating Flash and SVG files into the JavaFX Script format. No date has been set for a production release yet.
See also (updated):