JavaFX looks to stake claim in RIA (InfoWorld)
20.08.2008 15:36 Technology - Source: Yahoo Technology
Indeed, Sun will have its work cut out for it, taking on giants such as Adobe and Microsoft in the rich Internet development space. If this competition can be likened to a race between Olympic runners, it might be broadcast like this:
"In Lane 1, we have Adobe with its Flash and attendant Flex technologies, downloaded millions of times and popular on high-profile sites like YouTube."
"In Lane 2, it's AJAX (Asynchronous JavaScript and XML), the popular RIA technique used in countless Web sites."
"In Lane 3, its up-and-coming newcomer Silverlight, backed by software giant Microsoft and now being leveraged by NBC's prominent Olympics Web site."
"And in Lane 4, we have Sun's JavaFX used by Web properties such as - well, it's still in development."
It is from this set of circumstances that Sun intends to make JavaFX a player.??
"This isn't the type of market where only one technology is going to win," said Sun's Jacob Lehrbaum, senior product line manager for JavaFX. But Lehrbaum acknowledged the hill Sun must climb.
"Clearly, we do have to compete for developer mindshare," Lehrbaum said.
Developers and industry analyst Jeffrey Hammond think Sun has a shot, especially in the burgeoning market for applications running on mobile devices.
"I think Sun has the opportunity to catch up very quickly in that space," said Hammond, senior analyst at Forrester.
"I would say that the JavaFX platform looks very good. It has a lot of potential," said Andres Almiray, a software developer at Oracle and a blogger.??
"It probably should have been announced three, four, five years ago," Almiray said. "The good thing is that it's finally here."
An anonymous blogger identified only as "geekycoder" lauded the technology: "Technically, JavaFX enables me to leverage [the] Java skill set and Java technology that I am more comfortable with to deliver a compelling RIA solution. Because synergy between JavaFX and Java is excellent and the fact that JavaFX is built on the Java platform means that I can ensure that I have one of the best and supportive platforms to work in. In addition, JavaFX will enable me to be more productive in making it easier and quicker to create RIA solutions," for Web 2.0.
First revealed at the JavaOne conference in San Francisco in May 2007, JavaFX still is a work in progress. The official JavaFX Web page describes the project as "a powerful client technology for creating rich Internet applications with immersive media and content across the multiple screens of your life." It features the JavaFX Script scripting language for building rich Internet applications for desktop, mobile, TV and other consumer platforms.
"JavaFX Script, the language of JavaFX, doesn't replace Swing, the core Java GUI toolkit, but provides an alternative way of programming that hopefully will bring Java technology to the masses," according to geekycoder.
A preview version of a software development kit for JavaFX for desktop applications, supporting Windows and Macintosh, was released late last month. (InfoWorld has reviewed this SDK.) Further deliverables are planned. JavaFX for Desktop 1.0, featuring a profile for desktop and browser deployments and a general-release SDK, is due this fall. JavaFX for Mobile 1.0, adding mobile support, is planned for spring 2009 release. TV support also is planned.
The JavaFX runtime is to be distributed with the Java VM. Licensing plans for device manufacturers also are to be revealed next spring. When manufacturers license Java Micro Edition, they will get the JavaFX mobile runtime.
JavaFX offers plug-in capabilities similar to Flash and Silverlight but also has a standard runtime -- the Java Virtual Machine -- to run applications outside a browser, Lehrbaum said. Other plug-in technologies will enable developers to use existing tools such as NetBeans or design tools such as Adobe Photoshop or Illustrator with JavaFX.
With JavaFX, Sun looks to build on momentum including the presence of Java on more than 2 billion handsets. "JavaFX takes that momentum and the advantages we have with Java but makes it much easier to create rich interactive and immersive experiences," Lehrbaum said.
Java, he said, has had great capabilities but has been difficult to use. JavaFX Script offers a declarative scripting language for developers to build interfaces in the way that they think about them, Lehrbaum said. "It matches the way they think about interfaces in their head and is very intuitive," he said.
JavaFX also revives the notion of client-side applets, which had been envisioned as the big win for Java in the mid-1990s but Java instead emerged as a dominant server-side technology. Applets could be built for applications such as widgets for information access or a stock ticker.
The revival of applets will be enabled both by JavaFX and the upcoming Java Standard Edition SE 6 Update 10 release, due this month. "[The update] provides a much faster loading process for the applets," Lehrbaum said. Also with the update, developers can write a single version of an application and run it on the desktop or in a browser. JavaFX, meanwhile, makes it easier to build rich immersive experiences, he said.
An early user of JavaFX said Java SE 6 Update 10 and JavaFX solve deployment issues for Java. The update, said Jim Weaver, president of Java trainer jMentor, enables a Java or JavaFX application to begin executing before the entire Java Runtime Environment has been downloaded.
Weaver described JavaFX and the update as a "one-two punch." The update enables rich client Java to become a reality, Weaver said. JavaFX Script, meanwhile, provides a simple scripting language, he said.
JavaFX compiles down to byte code and runs anywhere the JVM runs. "You can use any Java classes within JavaFX," said Weaver. "You can leverage your Java skills with JavaFX."
Jumpstarting Java on the desktop is a key goal of JavaFX. Java on a desktop did not gather the momentum Sun had hoped for, Lehrbaum said. Also, JavaFX basically makes it easier for developers to create the applications they want so they don't have to consider another technology," such as Flash, Lehrbaum said.
"The platform promises a lot of new APIs and new abstractions to make the harder things simpler and the simpler things very easy," Almiray said. For example, APIs and libraries would take care of responsibilities such as establishing the correct order of a drawing on the screen, he said. Almiray anticipates success for JavaFX particularly in the mobile arena, saying it will be tough to compete with Flex in rich Internet applications.
JavaFX Script does offer some features not in Java such as data-binding into the language, Almiray said. But some Java features such as annotations, generics, and inner classes are lacking in JavaFX, he said.
Sun is being quiet about plans to make money off JavaFX. The company is looking at this issue and has not yet announced specific monetization plans, Lehrbaum said. Opportunities include commercial licensing and partnerships, he said.
JavaFX initially was proclaimed to be a fully open source effort. But Sun has backed away from that stance somewhat. A FAQ page on a Sun Web site was found this spring to have reported that tools such as the compiler, runtime engine, player and tools currently under development would not be open source.
The compiler, however, has been open-sourced as have parts of the graphics libraries and some tools. Sun plans to further discuss its open source strategy for JavaFX with the Desktop 1.0 release, Lehrbaum said.
www.sitename.com

