Java FX

by Mike Hendrickson

So we all know that both Ajax and Adobe's Flash/Appolo have been getting lots of attention in the web development space. The following trend line shows how many developers are buying books on Rich Web Interface programming topics. As you can see the trend is growing steadily upward, so the attention is well deserved. The timeframe is October 2005 through April 2007. Now SilverLight has burst on to the scene from Microsoft. Seems like everyone wants in the RIA space.



richInterfaces.jpg




Another familiar player is just about the jump into the space with a highly promising new approach to RIA development. You have probably heard rumors about Sun Microsystems's releasing Java FX. Java FX is a new extension to the Java platform that gives developers a consistent experience for building rich web/desktop apps all the way down to to handheld device applications. Interactivity, animation and ease of use that rivals Ajax, Flash and Silverlight, are the features that Java FX deploys on the Java runtimes already installed on you local client. On the surface, it sounds more elegant and efficient.



But what is Java FX. It's going to be a product family with Java FX Script being the tool for creating content for Web and Web 2.0-oriented applications.

FX Script is designed for content authoring of Web and network-facing applications. You will be able to access and use all your Java SE/ME applications and libraries. No need to kludge some bridge to your libraries, Java FX will handle that for you. There are features that make it more safe as well. Not having to rely on a constant connection, like Javascript in the Ajax model, Java FX will need only one new library to be installed along with the standard SE or ME runtime. Should be safe, should be slick. By having locally installed SE/ME files working with Java FX you could take your nifty Google apps offline and work on them. How nice would it be to see your Google Calendar offline?

So Sun's Write Once, Run Anywhere could actually start to happen. We know that Java runs in both IE and Firefox, and that with ME you can get Java onto hardware devices like phones and PDAs.



Java FX's promise: Create highly interactive and animated content running on computers, digital TVs, regular TVs and mobile devices, and have your content look the same across all platforms and behave the same way.



What do you think? Same old promise from Sun? Will Sun Legal cramp another promising technology with some arcane license or requirement on how you should document and write about it? Or, is this the real deal?

22 Comments

stelt
2007-05-08 10:49:50
Is Batik part of it?
Jeremy
2007-05-08 11:07:26
They said that it will be open source and since it's going to go along with Java I presume it will be GPL 2 but it is taking technology from their recent acquisition, so that might be up in the air.
As far as the front end stuff goes, from what the initial release information sounds like, it sounds like Swing with a scripting interface.
Branden
2007-05-08 11:08:36
I sure hope it turns out to be the real deal. I'm getting sick of Flex press - it's time for Java to gain some hype again on the RIA front!
Tom
2007-05-08 11:33:24
Assuming it is built on existing Java technology (i.e. Swing, Applets, etc) it will still suck, because Swing and Applets suck. If they could actually make a cross platform UI toolkit that didn't look awful, and had decent rich-media support in Java, (comparable to what Flash has had for years). Then built a simple UI markup layer on top of that... Then we'd have something to talk about.


Java certainly has the potential. Sun is late in the game, same as with their dynamic language support. They have some serious catching up to do if they want to keep the Java platform on top.

bizz
2007-05-08 11:34:48
there is a java app that takes google cal offline already - its called calgoo - www.calgoo.com - its not quite what you're talking about but you should check it out - maybe give you some further insight.


bizz

Kevin
2007-05-08 12:44:49
The biggest difference seems to be Silverlight/Flash run on a small VM hosted in the browser. Sun could do two things to lighten the load: create a small VM for hosting in a browser, compile the Java bytecode down to Javascript (ala Google Web Toolkit) and use the already present JavaScript VM. I actually think the latter would work quite well for right client apps.
Kevin
2007-05-08 12:47:09
er, "right client apps" == "light client apps hosted in the browser"
Tim
2007-05-08 13:11:52
One problem is that JavaFX will likely still by the heaviest of the RIA technologies. Flash/Flex will be always lighter (ie. small download, lower memory footprint) because it's based on a simpler VM (does not support multiple threads). SilverLight 1.0 is a 1.4 MB and 1.1 is currently in the 4-5MB range (from what I read). JavaFX will need a slimmed down JRE that is not significantly larger than the competition. Anyone else got a feeling that an announcement about Java Browser Edition will be made before JavaOne is done ?
JavaFX also will need a adopter like Silverlight has with MLB.com in order to get mindshare.
Vijay
2007-05-08 15:56:28
Google calendar offline is available already and is based on Java technologies. Try Dekoh, you can install Dekoh calendar.


Vijay
Dekoh

Marky Goldstein
2007-05-08 22:58:24
Well, nice animation editing programms needed then... Flash got its success also from the studio software..
Paul
2007-05-09 09:27:18
They haven't solved the deployment problem. This is like going to war without guns, or pizza without the cheese. They're getting way ahead of themselves.


If Sun had fixed the deployment problem for applets along time ago when we ASKED for it, the community would've written JavaFXScript, JavaFX Studio, JavaFX the JSR, and had it mature and operating by now.

cardsharp
2007-05-10 00:39:09
It's not really a fair statement to say that Silverlight is only 1.5 MB. Silverlight requires .NET which is a huge 20+ MB download compared to Java's 6 MB download. On top of that JavaFX is about 700 KB compared to 1.5 MB for Silverlight. Side by side JavaFX is much smaller. That said, Flash still wins hands down in the download comparison.
digitalGuru
2007-05-10 23:15:25
The competition is also on how easy it can be used for developers and how comfortable the IDE can be provided for users. Flex is not considered as a enterprise development tool now, I believe Adobe should really spend more efforts on this. Microsoft is not good at inventing, but good at providing good environment for people, polishing up and taking over.
Mike Hendrickson
2007-05-11 06:12:13
You should check out the interview with Robert Brewin, found here:


http://www.oreillynet.com/pub/a/onjava/2007/05/10/an-interview-with-robert-brewin.html

Anand Muthu
2007-05-15 02:47:23
Yeah ! JavaFX sound good in all notion of the its features. But Is there any way to reduce the *start-up* time for JRE ?? Even thought Javascript will take more time to start ( Eg. Gmail ).
I think , JavaFX will be tuned well so that it will be the *concrete* soultion to the *future RIA*s .
Mike
2007-05-15 12:11:12
Oh please, not another standard! The world is drowning in useless technology diarrhea that isn't really providing any new value.


I for one will NOT be lifting a finger to learn yet more useless new web development crap.

AmitKumar Agrawal
2007-05-21 04:58:34
From the documentation and tutorial at javaFx site, it seems it is basically for Mobile and desktop application not the web applications.
Can we host javaFx Application into j2ee web application server like tomcat jboss or weblogic?? If Yes, please share how with us... And if No is it appropriate calling it Rich Internet Application!!


Baris Dur
2007-06-02 10:46:58
Although there are some performance issues, JavaFX might catch on.
The main problem with JavaFX not lies in its nature but is related with Java VM :
1.) VM loads very slowly in browsers (around 20 secs)
2.) Installation is still tricky
3.) JRE download still takes too long
4.) GUI development is much more harder compared to Flex, OpenLaszlo
5.) GUI components still do not look aesthetic when compared to Flex.


Although we might talk about many pros of Java; these above cons are valid when JavaFX or Swing is evaluated not in the business customers' area, but everyday internet users' scope.

raam
2007-07-23 02:15:26
very gooood achivement
Master
2008-01-26 17:56:50
HO.. sun wants to be in the race also.. MS too.. and ofcourse Flex/Flash camp alredy got theire gears up and running.. jre 10MB?? no thanks.. MS silervlight lockin produckt.. not thanks...
Master
2008-01-26 17:58:22
HO.. sun wants to be in the race also.. MS too.. and ofcourse Flex/Flash camp alredy got theire gears up and running.. jre 10MB?? no thanks.. MS silervlight lockin produckt.. not thanks...
Trideep Gogoi
2008-02-05 14:42:21
There was never anything inherently wrong with Applets. The one thing, in my opinion, that brought down Applets and Swing is its dependence on Java installed outside he browser. While Playing flash content is a simple matter of installing a plugin; on many platform to use Applets you have to install a whole Java stack. The fact that Java from Sun's website has like 100 different versions further complicates the matter. To solve this problem Sun has to come up with a super light weight java runtime and aggressively distribute it.


the Second major problem with Applets was always the developers, Most applet developers were not web developers so applets never integrated well with its originating page, Unlike flash developers who are frequently web developers also and flash content gets integrated neatly into sites. The end result is that a user is painfully aware that there is an applet loading and the user is going to get pushed out of his/her current context. In flash's case people don't even know they are using flash.


Im a firm believer in Java and have extensively created Applets and if Sun gets this right JavaFX has the potential to take over the rich content market.