Do as I say, not as I do. Trev's Blog

Sunday Apr 13, 2008

It's been a year already since Sun first announced JavaFX, the new rich interface scripting language that would be built into the Java runtime.  Now, finally, we are on the brink of a first release; the latest speculation is that a stable developer preview will be out in May and then v1.0 shortly thereafter.  It's good timing, considering Silverlight and Flex are trying to compete in this ripe market as well.  But I'd argue that Sun is wise to take its time and do it right. 

Remember my previous post about building a flight planner application with GWT?  Well, unfortunately back in the design phase we changed our minds and decided to go with Silverlight.  What a painful mistake!  We should have known that in Microsoft's hasty attempt to ride the coattails of Flash, time to market would win over completeness of implementation.  Even in what they call the 2.0 release, basic functionality is missing... how the heck is there no combobox control in an RIA framework???

Anyway, Flex is promising, but not yet up to par in terms of speed.  One of the JavaFX architects comments on this in his blog, about how it's complicated to benchmark performance between rich web user interfaces.  He notes that they use this site called Bubblemark, which contains implementations of a simple animation program in several different technologies, including basic DHTML, Silverlight (Javascript and CLR versions), Flex, Java (Swing and JavaFX versions), as well as others.  The findings are amazing: both the JavaFX and Swing versions run 3 to 4 times faster (in fps) than Flex.  He also points out that the graphics layer in JavaFX is built on what is still an un-optimized library. "...we are focusing on bug fixes and correctness right now, not optimization, so it's not as fast as it could be."  Awesome.  They haven't even tried to optimize yet, and still it's faster.  We'll see who wins this battle in the end.

Comments:

I have been waiting for many years for a Java client that is up to the task. JavaFX is not it.

As a Java licensee back in the '90's, trying to make applets work, we laid out a bunch of things we needed, and as a Java licensee at the time, were completely blown off even with respect to the simplest, stupidest font or threads compatibility bugs between web platforms, let alone the larger issues of strategic importance like making a class loader that can intelligently stream a client in such a way to present an instantly usable usable and incrementally downloaded execution model for the web.

Sun still acts completely uninterested in solving this sort of problem bigger problem although they eventually after many years solved some of the ones that required less thinking, and I am not willing to do the heavy lifting at this late date when they are finally starting to open up Java, to fix this sort of thing without the most basic acknowledgement by them of interest in making a reasonable client platform for delivery of web-based applications. While the syntax tricks of JavaFX are neat, that is all they are. Not the sort of ground-breaking solution that has been needed since the days of Java applets.

If I am going to have to go at it 100% alone, I may as well create yet another platform, or use the more-established established engine like flex, also being open sourced, for delivery of good clients rather than carry the weight and legacy of Java which has never been focused on the problems of the client.

Posted by Ray Whitmer on May 03, 2008 at 06:01 AM CDT #

You are sadly mistaken my friend, JavaFX IS a ground-breaking solution, one that rides on the very latest consumer JRE and web technologies available. It required a complete rewrite of the browser plugin architecture, and has done nothing but focus on the client. Aside from literally bridging the gap ( http://news.zdnet.com/2422-13568_22-200560.html ) between browser and desktop, they've also added cross domain support, eliminated security warnings, integrated hardware-accelerated graphics and Blu-ray quality video and audio codecs, and as I mentioned before, blew Silverlight and Flex out of the water in terms of performance. If you think Sun isn't interested in the problems of the client, you need to check your facts.

Posted by Trevor on June 10, 2008 at 05:16 PM CDT #

Post a Comment:
  • HTML Syntax: NOT allowed