Kevin has posted 1 posts at DZone. View Full User Profile

JavaFX's Killer Feature

07.28.2008
| 14261 views |
  • submit to reddit

Many believe that JavaFX is too little too late for Sun to become a player in the rich client space, but I think that if Java 6 U10 is successful that Sun will be making it's critics eat their words.

 I recently tried to install a tool for Dojo that was created using the Adobe Air framework, at the time of installation, I was informed that "Air is not available for your platform".

You see, I'm using Linux (OpenSuse 11), and in fact most of the workstations in our office are running Linux now. The problem with Air is that it relies on a newer version of the Flash player, and that particular version isn't ready for Linux yet. This is always an issue when you are relying on something that's not truly open, such as Flash.

Sun has shown commitment to "openness" by developing FX and Java in the open source community, and it's stewardship of Java has always treated the platforms supported by Java as first class citizens, this in the long term, will be JavaFX's greatest strength.

Now before people discount Linux as a fringe platform, with Vista being a flop, there's increasing momentum towards Linux as a viable player in the corporate & consumer desktop, in fact the Asus EEPC was one of the best selling computers in 2007, and it's Linux based! Even more Linux based devices are coming from vendors such as Dell, HP, Asus, MSI and others, and JavaFX and Java will run on all of them.

I do agree that FX is getting a little late, and the time for Sun to move is now, if they don't get it out of the door soon, even the strength of the Java platform won't be enough to ensure JavaFX adoption en mass,

Published at DZone with permission of its author, Kevin Daly.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

James Ward replied on Mon, 2008/07/28 - 2:50pm

I'm running Ubuntu and AIR and FP work fine.  AIR is currently in alpha but works for most applications.  You can download it here:
http://labs.adobe.com/technologies/air/

Let me know if that works for you.

-James (Adobe)
www.jamesward.com

Kevin Daly replied on Mon, 2008/07/28 - 3:10pm in response to: James Ward

Thanks for the links, I've played with Air on my Opensuse 11 box.

I am aware that Air is available in alpha/beta form, but the point is that it is not being developed out in the open, I am totally at the mercy of Adobe as to what platforms / devices Air will work on. When JavaFX comes out it will be available on all the platforms that Sun's JRE run's on immediately, and should I, or the community deem it necessary, it can be ported to almost any platform that runs the OpenJDK.

Air & Flex are great technologies, but In the long term, "openness"  is always the better way to go in my experience.

James Ward replied on Mon, 2008/07/28 - 3:44pm in response to: Kevin Daly

In the long term, "openness" is always the better way to go in my experience.


Adobe totally agrees! The PDF spec is an ISO standard. The SWF spec is publicly available. The VM for Flash Player and AIR, Tamarin, is open source with Mozilla. The Flex SDK is open source. BlazeDS is open source. AIR bundles SQLite and Webkit.

Adobe continues to try and find the tough balance between more openness and what our developers want. Most of our developers tell us not to open source the Flash Player because it would lead to forks and incompatibilities in the run time - which is ultimately not in the best interests of developers and end users. Yet this does mean that there is a finite set of supported platforms. Now that the SWF spec is available I hope the open source community will build SWF engines compatible with Flash Player and AIR for those platforms which are not officially supported by Adobe.

-James (Adobe)
www.jamesward.com

ff aaa replied on Mon, 2008/07/28 - 3:46pm

Java and JavaFX is definitely more open than others. But JavaFX itself is still not open sourced AFAIK.

ff aaa replied on Mon, 2008/07/28 - 3:48pm in response to: James Ward

i was about to say, dude you are talking like Adobe representative.. And i noticed you actually are! boooo to adobe for poor linux investment ;) just kidding.

Geertjan Wielenga replied on Mon, 2008/07/28 - 3:53pm in response to: James Ward

[quote=jlward4th]

[snip] 

Adobe continues to try and find the tough balance between more openness and what our developers want. Most of our developers tell us not to open source the Flash Player because it would lead to forks and incompatibilities in the run time - which is ultimately not in the best interests of developers and end users.

[snip]

-James (Adobe)
www.jamesward.com[/quote]

Open source doesn't lead to "forks and incompatibilities". It leads to people being able to inspect your code, learn from it, and contribute back to your project. I can't believe that there's a contradiction between "more openness and what our developers want". In my experience, developers want more openness.

Kevin Peck replied on Mon, 2008/07/28 - 3:56pm

Since JavaFX needs update 10 what happens with the Mac? Sure Linux / Windows will be nice but this leaves out the Mac folks unless Sun decides to write the VM for the Mac instead of Apple doing so. I don't own / run a Mac but we test on them at work just make sure our WORA works. The Mac being behind the 1.6 curve certainly hurts.

James Ward replied on Mon, 2008/07/28 - 4:45pm in response to: Geertjan Wielenga

Open source doesn't lead to "forks and incompatibilities".


You are right but it certainly doesn't prevent them. I use and love Linux which is full of forks and incompatibilities. If it weren't then Adobe could easily support only one version / distro of Linux and thus support all of them. But due to the many incompatibilities between Linux distros and versions it is impossible to support them all. Contrast this with Windows where it is very easy to build an application that works the same on all Windows machines back to Windows 98.

I love Linux and open source because they provide me, a developer, freedom. But that freedom has a cost - especially when it comes to developing software on a platform which is constantly inconsistent and incompatible. For many software developers that cost is not worth it. For others like RMS the cost is worth it. (Side note: RMS actually surfs the web using wget and email!) While RMS is an extreme case most developers I meet are much more pragmatic about when and how they use open source.

-James (Adobe)
www.jamesward.com

Mikael Grev replied on Mon, 2008/07/28 - 4:49pm

You're shooting at the wrong target. Go up against Apple instead, they are an order of magnitude larger than Linux on the desktop (and growing) and if THEY don't provide a timely u10 Sun is toast regarding JavaFX. :)

Cheers,
Mikael

Mikael Grev replied on Mon, 2008/07/28 - 4:51pm in response to: rouletteroulette rouletteroulette

LOL! :D

(I mean no disrespect to the Linux crew, but I think that was pretty funny Kirill, and at the same time painfully telling about the world as it stands)

Arek Stryjski replied on Mon, 2008/07/28 - 5:12pm

I sometimes must use Mac at work, and I hate this operating system. If one day, for some unknown reson, I will need to stop using Linux, I will go for Windows (or maybe OpenSolaris).

But Mac is the only growing operating system right now*. Unfortunatly Java 6 is not really a standard on Mac jet :(

I believe it will take 3 years before JavaFX could be run on Mac after it will be available on other platforms. For Windows and Linux it will probably still take half a year or more. At a moment because of licence issues - not existing - I cannot use it on any operating system :(
After 4 years when JavaFX is ready for all operating systems, Adobe Air unfortumatly (for us) will be mature platform :(

--
* Mark Shuttleworth, founder of Canonical/Ubuntu:
"The fact that OS X is growing, tells us that Windows is weakening. The fact that OS X is growing and Linux isn't, tells you that OS X is offering things that Linux is not."
http://derstandard.at/?url=/?id=3413801

Jacek Furmankiewicz replied on Mon, 2008/07/28 - 6:39pm in response to: Mikael Grev

Ouch!

 I guess I have to get used being part of a proud 1% minority.  *grin*

Dmitri Trembovetski replied on Mon, 2008/07/28 - 7:40pm in response to: Arek Stryjski

> I believe it will take 3 years before JavaFX could be run on Mac

That's not true. It works there right now (well, on Leopard). For example, I was running the demo from the previous post  http://java.dzone.com/articles/rolling-your-own-javafx-custom on my leopard system.

Dmitri

 

Kirill Grouchnikov replied on Mon, 2008/07/28 - 8:43pm in response to: Dmitri Trembovetski

[quote=tdv]

> I believe it will take 3 years before JavaFX could be run on Mac

That's not true. It works there right now (well, on Leopard). For example, I was running the demo from the previous post  http://java.dzone.com/articles/rolling-your-own-javafx-custom on my leopard system.

Dmitri

 

[/quote]

It might be a misconception that JavaFX requires 6u10.

Mike Mormando replied on Mon, 2008/07/28 - 8:55pm

"if Java 6 U10 is successful" in your own article...not when, not as, but "if", the shortest science fiction story ever written. Sigh.

<no, really, when I was a kid I used to read a series of space opera novels about a character named "Perry Rhodan", in the series they ran a contest to see who could write the shortest SF story, the winner was "If".>

James Williams replied on Mon, 2008/07/28 - 10:19pm

Tell Apple that you don't want Java tied to a version of the OS or use SoyLatte. Mac users are behind because of Apple's choice, not because they were overlooked on purpose as many OS X vendors do with Linux.

Craig McClanahan replied on Tue, 2008/07/29 - 1:14am in response to: James Ward

I have a couple of comments on your comments.

I use and love Linux which is full of forks and incompatibilities. If it weren't then Adobe could easily support only one version / distro of Linux and thus support all of them. But due to the many incompatibilities between Linux distros and versions it is impossible to support them all.

Hmm ... Sun has successfully supported Java on many of these "incompatible" Linux platforms for years.  Are you saying that this is beyond the ability of Adobe engineers, or are you saying that you don't care enough to try?

I love Linux and open source because they provide me, a developer, freedom. But that freedom has a cost - especially when it comes to developing software on a platform which is constantly inconsistent and incompatible. For many software developers that cost is not worth it.

I've only been developing software for a short while (34 years and counting as a paid software professional :-), but I've had occasion to install more than a few open source packages on more than a few Unix variants.  My general experience is that the majority of developers of open source C/C++ based packages I've installed have leveraged existing open source tools like autoconf when needed to cover over the OS differences.  There have definitely been issues along the way, but open source developers (in my experience) have been more than willing to accept platform compatibility patches, so that others don't have to suffer the same problem.  (For developers of Java based applications, the cross-platform compatibility issues are substantially reduced, but I digress :-)

Can anyone other than Adobe help you with that kind of problem?  Well, you called it down on yourselves ...

Craig McClanahan

 

Thom Theriault replied on Tue, 2008/07/29 - 6:11am

I have been posting comments to many blog posts regarding the relevance of JavaFX. Just to reiterate, our experience has been very reasonable - given the maturity of the language and tool sets.

One thing to note here is the level of commitment we have seen, first hand, from the community, the JavaFX team and especially from the executives at Sun.

I agree with many here and at other online gathering places that JavaFX will indeed surprise a great many people.

BTW take a look at Jim Weaver's latest post on custom nodes at

http://learnjavafx.typepad.com/weblog/2008/07/getting-decked.html

Thanks,

Thom Theriault, CTO

Malden Labs

Kevin Daly replied on Tue, 2008/07/29 - 7:34am in response to: rouletteroulette rouletteroulette

I hate to be appearing to bury my head in the sand, but I don't really believe in any of the Linux numbers I've seen. I've seen anywhere from 10% to 1% and I don't think any of those numbers are correct. It is impossible to measure the numbers of Linux desktops due to the fact that people don't actually buy a Linux desktop, they download and install it, and in many cases, they download and install on multiple machines.

Nobody can actually tell..

This is the main problem for almost all commercial entities trying to support Linux.

Kevin Daly replied on Tue, 2008/07/29 - 7:39am in response to: Mike Mormando

What I basically meant by "If Java 6U10 is successful" was speculative, as it has not been released, so there is no way to tell if Sun has finally solved most of the problems with deployment.

Based on the beta of U10, I would say that they will  be successfull, but I make a point of not counting on technology until it is released officially.

Casper Bang replied on Tue, 2008/07/29 - 8:17am

I have been missing a Java browser plugin for my Linux box for 3 years now, such that I can run basic Java 1.4 Web Start applications... so please excuse me for remaining skeptical until proven otherwise.

Also, could someone explain to me why, if Sun want's JavaFX to be considered a serious RIA alternative, javafx.com is still full of Ajax and Apple Quicktime movies rather than... JavaFX?

ff aaa replied on Tue, 2008/07/29 - 8:19am in response to: Kevin Daly

Sadly, i would doubt very much if linux has more than %1 desktop OS share.

Mike Mormando replied on Tue, 2008/07/29 - 8:36am in response to: Kevin Daly

Exactly, whereas Flash/Flex has a huge head start, and a pretty good reputation for running everywhere they need it to in my enterprise anyway. I'm currently on a project where we're replacing a desktop application, my first choice was a webstart application, followed distantly by Flex. From our upper management I was instructed to include Silverlight in my evaluation as well. Long story short Silverlight probably would have been the winner except that I threw a hissy fit that the application would be in production before Silverlight 2, the only one I was able to get working reliably, would be out beta. Webstart was summarily dismissed due to incompatibilities between versions of Java, most desktops we have being frozen at java 1.4 something or other due to a vended app that won't certify anything higher. So, we're using Flex. While I really like some aspects of it there are really too many unanswered issues with it for me to feel really comfortable with it yet, but I move forward. This is one example of this, I know of a great many other similar ones unfortunately. I do hope the new architecture really just kicks butt! But I'm just afraid its too little, too late.

 

Kevin Daly replied on Tue, 2008/07/29 - 8:37am in response to: Casper Bang

What distro are you using right now? Is it a 64 bit version? The only situation I know of is that there is no 64bit plugin for Linux.

Mikael Grev replied on Tue, 2008/07/29 - 8:37am in response to: Kevin Daly

The numbers are taken from web traffic so they are quite correct. And we are talking about generic web traffic, not web traffic to developer sites where the percentage can be higher in favor of Linux.

Kevin Daly replied on Tue, 2008/07/29 - 8:46am in response to: Mike Mormando

History will teach us nothing.

Flash/Flex is new and shiny, no issues with legacy apps and legacy issues, it's easy for them.... 5 years down the road, you'll be painted into the same corner no matter what technology you use. There will be a new Flash/Flex/Air player, and you won't be able to upgrade due to an issue with a legacy application.

As far as head start, is Java really behind? When you evaluate the WHOLE PLATFORM java has.

  • A better VM
  • Is faster
  • Many more libraries
  • more mature
  • larger community
  • etc etc...
I could go on, but I really don't have time today.

Casper Bang replied on Tue, 2008/07/29 - 9:01am in response to: Kevin Daly

Sure I am using 64bit. 64bit x86 CPU's and operating systems have been out since 2003 - half a decade.

Kevin Daly replied on Tue, 2008/07/29 - 9:08am in response to: Casper Bang

Which will nicely run a 32 bit version of FireFox and a 32 bit version of Java.. So saying that there has been no plug in for your machine is a bit misleading. While it would be nice to have a 64bit version for optics, there is no techincally sound reason (today) to run a 64bit browser and VM  for browsing.

My solution is to install the 64bit JVM for any of your apps that need it, and a 32bit JVM with the plug in for browsing, easy to do and most distros will do it automatically for you.

Casper Bang replied on Tue, 2008/07/29 - 9:34am

That's just a workaround and mixing 32bit and 64bit brings with it a whole slew of problems. The first time this was submitted to bugzilla was even back in 2002 btw: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4626735

So I still maintain Sun has issues with following through, the write-once-run-anywhere mantra is hardly true when you are required to install several versions of the official JRE is it?

James Ward replied on Tue, 2008/07/29 - 12:02pm in response to: Craig McClanahan

Hi Craig,

Hmm ... Sun has successfully supported Java on many of these "incompatible" Linux platforms for years. Are you saying that this is beyond the ability of Adobe engineers, or are you saying that you don't care enough to try?


As I'm sure you know the problem is not usually engineering but QA. Thus the reason even Java has a list of officially supported platforms and Linux distros:
http://java.sun.com/j2se/1.5.0/system-configurations.html

Here is the list for Flash Player:
http://www.adobe.com/products/flashplayer/productinfo/systemreqs/

Can anyone other than Adobe help you with that kind of problem? Well, you called it down on yourselves ...


Adobe does actually provide a way for Linux distros to make Flash Player work with the inconsistencies between distros:
http://sourceforge.net/projects/flashsupport

-James (Adobe)
www.jamesward.com

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.