One of the phrases that seems to be on peoples lips during the last few days has been the new JavaFX. In a nutshell, JavaFX is a new method to create rich internet applications.
There is an article on Internet News praising JavaFX and declaring that it is going to be the end of Ajax. Huh. Well, let’s look at a few arguments in that article:
…by using the locally installed Java SE files. Only one new library needs to be installed along with the Java SE or ME installation, depending on the device.
Reaallly. So, automatically the use of JavaFX is dependent upon a locally installed piece of software. That’s not a bonus – that’s a drawback. And he repeats it again here:
Apparently Sun (and this author) missed the boat on the idea of applications that run entirely in the browser and completely independent of the desktop.
Just for a bit of humor – here’s one tidbit from that article:
Another problem with writing AJAX applications is it inevitably forces manual code creation, a skill Web content creators typically do not have.
*gasp* How dare we expect web content creators to be able to manually code!
Another article has some words from James Gosling of Sun.
Easy applet creation also is possible, Gosling said.
That is, in a word, scary. The idea of anything making Java applets more easily created for widespread web use is disturbing.
On a slight tangent:
Now, one upside to it:
Additionally, Web applications can be built that also work in a disconnected mode.
Now that is a bonus – but when you consider how it works, it’s not really a bonus at all. What WILL be special is when people can create applications that will completely work in offline mode, but are not reliant on your desktop. Meaning that the web application can run in online mode, touching nothing at all on your computer, but that if you WANTED to use the application offline, you could download a version of it and later sync with your online version. Or something to that general effect.
The solution IS NOT to create online applications that begin by being dependent on desktop software. That is what we used to do. It’s what we are trying to get away from.
Sun says that:
JavaFX Script takes advantage of the Java Runtime Environment’s (JRE) ubiquity across devices
Anyone who has every run across a website application that uses Java knows the enormous lag time that happens while the Java Runtime Environment (JRE) loads up on your computer. It’s about as bad (often times worse) than going to a website that doesn’t first alert you to the fact that it’s about to load up a PDF.
People who would claim that the extra code to write an Ajax app is worse than having to load up the JRE needs to get out their stopwatch and time it.
I can’t seem to find sample code anywhere for the new JavaFX – at least not on the site proper. I have found 1, and only 1, example linked from their site and that is for a line game.
Somewhere along the lines of Adobe’s new Apollo, JavaFX seems to be going in the exact opposite direction that most of the web is right now. Web developers and consumers want less reliance on their desktop, not more. They are asking for ‘all-online’ services so they can work from their home computer, and continue where they left off from their office computer.
Unless I’m misunderstanding JavaFX greatly – this seems like two steps back.