Because rich applications feature user interface and media prowess, they (apparently) must have a "graphics engine" of some sort running on each user's computer. Intuitively I think this engine is what counts most in the competition to develop broadly useful RIA. Yes, the underlying language(s) are important. So are development environments and designers. So are standards and security. But the performance, efficiency, and wide distribution across platforms of the graphics engine - because it directly affects both users and developers - will be the edge which is likely to determine winners from also-rans in the RIA marathon.And now we have three major players in the running. At the last JavaOne conference in the beginning of May, Sun officially announced an alpha version of JavaFX Script and a future family of JavaFX products. Most of the hype surrounding the announcement immediately put JavaFX in the context of competition with Microsoft Silverlight and Adobe Flash/Flex.
The big three; why? Because these are the three companies that have or will have a widely distributed graphics engine. Adobe has Flash, arguably the most widely distributed; Microsoft has Silverlight, the graphics engine associated with Vista; and Sun has the JRE (Java Runtime Engine), which is almost as widely distributed as Flash. It will be extremely difficult for any other company to enter the race, given the distribution advantages of these three.
Criticism of JavaFX seems to have two focal points: The lack of development tools and the state of the JRE. It's probably a sign of an anxious jumping of the gun that Sun felt it must announce an alpha-stage language and have no tools, in order to grab what mind-share it can from Microsoft's Silverlight and Adobe's upcoming Apollo. Still, there is no lack of superb Java IDE's and other tools; in a relatively short time Sun and others will Swing (pardon the pun) these tools in the direction of JavaFX.
The state of the JRE is more difficult and pressing. Currently the JRE is about 11 MB download, starts like a jalopy in winter, and is subtly inconsistent across platforms. It is also not optimized for media. None of this plays well in competition, especially with the lean and mean Flash. Sun knows this; another announcement at JavaOne, was the Java Kernel project, a massive re-working of the JRE to make it thinner and faster.Something about Sun JavaFX in a moment, but first a short preliminary expectoration: Rich Internet Applications (RIA) matter. They are not the be-all-end-all of applications, on the desktop or the Web, but they will be the élan vital (the vital force) that drives application development and the growth of the software industry for the next three to eight years… Intuitively, I think the "graphics engine" is what counts most in the competition to develop broadly useful RIA.