JavaFX preview highlights critical weaknesses
Potential riches uncertain
The big question with Java FX is why anyone would want to adopt it when they've already got Adobe Systems' Flex and Microsoft's Silverlight, which is doing rather well in presenting the Beijing Olympics.
On paper, the most compelling feature could be the most difficult one for Sun to pull off: the ability to run the same JavaFX app unaltered on both Java Standard Edition (Java SE) and Java Micro Edition (Java ME) runtimes.
The Laszlo factor
Whether this pseudo-multi-platform approach turns out to be practical in the long run is another matter. Any program of a significant size is bound to step outside the rosy JavaFX garden and make use of the "core" Swing and Java APIs, shackling it to your desktop. We won't find out to what extent Sun can achieve their lofty ambition until Java ME support appears, which at the last estimate is Spring 2009.
As far as this preview release goes, tools remain both JavaFX's strength and weakness. NetBeans 6.1 with its JavaFX plugin and Java 6 Update 10 (currently in beta) together offer a compelling development and deployment platform for rich client applications.
The NetBeans plugin has a nice live preview feature in which any change to the code causes a recompile and re-view of the applet. Nice to see, but I could imagine most developers switching this off soon after the initial "ooh aah" reaction - and after their code size goes beyond, say, 10 lines.
The lack of a GUI editor until at least Spring 2009 could well be the clincher for developers weighing up between Flex and JavaFX.
Sun claims to be working closely with third parties to provide rapid application development (RAD) tools in addition to the NetBeans visual editor and - apparently - we can also expect an Eclipse add-in, although I couldn't get a clear answer from Sun on a release date when I asked. Providing vague hints about the cloudy future is not a good way to win developers' hearts and minds.
No match for Adobe: a JavaFX demo app
New in the preview release is a sample weather application: at last, JavaFX is starting to look the part. Unfortunately, "the part" in this case is some disappointingly jagged text and some animated clouds, which slow to a crawl if you leave the app running for more than a few minutes. The Today/Tomorrow switch is a little odd, too. Click on Today, and the display switches back to Tomorrow after less than a second - in time with the cloud animation, in fact.
lack of usability for that site right on the money
it is one of those a designer's wet dream style site.
We will be so interested in moving the junk around, we will become one with the interface. Well, no we won't, we will move one thing, and rapidly lose interest, then post a scathing comment on El Reg.
Could be interesting technology, I will just wait until they get their info site sorted out first though.
And someone is hinting that they are using GUIs to build websites, that is sacrilege; everyone has been told to use a text editor, many times, there is no excuse.
Oh Sun, why don't you just help out with getting IE knocked off the number one slot, and throw a few developers at Mozilla, or invest some cash their way, that is the way to look a bit funky and poke MS in the eye. If the web was mainly Mozilla browsers, then it would get really interesting out there, IE is the main blocker of any particular good idea.
Demos that teach how to create JavaFX custom UI controls
Regarding demos, I'd like to recommend a series of blog posts that I've been creating: In this series, I'm working with graphics designer Mark Dingman of Malden Labs on an imaginary Sound Beans application. The objectives are to show how to create custom UI controls in JavaFX, and to provide a case study in how a graphics designer and an application developer can work together effectively in developing JavaFX applications. Each article contains the source code and Java Web Start to run the application. Here's the link to the series:
Pretty much agree
Indeed, a few other points:
- JavaFX support for Linux (and Solaris for that matter) sucks in many ways, those who tried different 3D/translucency/whatever demos know what I mean.
- The preview SDK is without video codecs - geee.. Video support is probably the only reason I would use JavaFX and it's not there after a year and a half of development.
- When it comes to Java on the desktop, Sun (historically) only creates decent releases for windows, the other platforms get a few bones not to starve, so among the "lots of features" that Sun praises it should never forget to put a sticker "implemented for windows only so far", or "works well on windows only".
- Sun is trying to compete in all imaginable fields (desktops, servers, mobiles, robotics, you name it) and since it can't manage to do this all it took/takes years to develop stuff (like JavaFX). This is clearly a sign of management problems, in other words it spells (I learned it btw from a Sun employee) "Don't bite off more than you can chew".