InfoWorld review: JavaFX fights Flash
Sun's JavaFX is a crisp, simple way to leverage existing Java code, Java 2D, and Java Web Start technology for more Web-savvy interfaces
A long time ago, in an ancient world when the Internet was young, the Java language was so hot that Fortune put Scott McNealy on the cover with a superhero costume and the name "Java Man." The cross-architecture power of Java was going to remake the computer world and become the default OS for all of computerdom.
Although Java found a great deal of success in education, scientific computing, and server farms, it never got far on the desktop. The Java applets that could be embedded in any Web site couldn't compete with the smooth animation and anti-aliasing of Flash. Microsoft fought back with dynamic HTML, later reborn as AJAX, and the applet threat to Redmond's Web dominance faded away.
[ See the Test Center's reviews of Microsoft Silverlight 2, Adobe AIR 1.5, and Adobe Flex Builder 3.0. See the special report on rich Internet application development. ]
Lipstick for Java
Sun is now a bit better prepared for the battle. It has a rich stable of libraries for animation, including the well-regarded Java 2D, developed with Adobe to mimic much of the computational structure of PostScript. This is essential because some suggest that Flash beat out Java applets for Web animation because it offered smooth anti-aliasing. If Java 2D is not enough, there are a huge panoply of open source libraries developed to handle almost any need a programmer might have.
The problem for Sun was how to put this wine in a new bottle. Although the parts were ready for Web artists long ago, artists weren't ready for them. Some savvy artists can write scripting code for Flash, but pure Java requires a great deal more devotion. So Sun created a new language that is little more than syntactic sugar on top of Java. It built something that it hopes Web developers will like and used a new compiler, javafxc, to turn it into Java byte codes for the JVM. Voila! Java with new lipstick.