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

JavaFX Preview Released: When Will the Madness Stop?

08.01.2008
| 10374 views |
  • submit to reddit
I with many have been a believer in Java on the client. I was excited to learn at JavaOne 07 about JavaFX, and even more excited by the great demos at JavaOne 08 dealing with Java 6u10 and JavaFX.

But then...

I am a Mac user. And as many of you Java Mac users know we have been very frustrated by the lack of understanding about the Java SDK path and now JavaFX on Mac. 

You see Apple, for what ever reason, chose to make Java 6 for Mac run only on their 64bit capable intel machines running Leopard. So basically anybody not using Intel Core 2 Duo and Leopard cannot run Java 6. 

Us mac Java guys were already very frustrated about this. But we were patient believing things would work out.

Now with the JavaFX preview release we learn that yes, JavaFX preview will only run on Java 6 capable macs. Has the concept of "Write Once Run Anywhere" been completely thrown out the window. 

As a Mac Java developer I expect to be able to write my Java apps on the Mac and have them run on Windows and Vs versa that was one of the HUGE benefits of the Java platform. Now I can't use Java6 features nor apparantly JavaFX because my intel mac is only Core Duo not Core 2 Duo. Besides I can't expect my customers of my products to have this type of latest and greates Mac hardware.  So basically the mac user base is up the creek with no paddle on JavaFX.

This is really a shame for Java on the client. At this Point MS Silverlight is actually more write once run anywhere then Java is. How can that be?

 Please Sun Help us out. 

1 of 2 things have to happen to work this out.

1. Apple needs to release Java 6 support on Tiger based machines PowerPC and original Intel so that we can have the widest possible user base.

or

2. Sun needs to make JavaFX capable of running on Java 5. 

Now option 1 has a really FAT chance of happening knowing Apple's past Java releases. Even if I hope for it, it really aint going to happen. Apple rarely worries about this type of backwards compatibility especially for something as unimportant to Apple's bottom line as Java.

So that leaves option 2.

Why can't Sun release JavaFX to run on Java 5, at least is a degrade gracefully approach. Its almost like we are getting a one-two punch from Apple and Sun, the problem is I don't know who is punching and who is just holding us down for the other one. 

I begged the Java client guys about this at JavaOne but apparently somebody at Sun feels differently. It's funny because most of them run MacBook Pros anyway, you would think this would be important to them.

When will the madness stop. :-(

 

References
Published at DZone with permission of its author, Deane Richan. (source)

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

Comments

Rommel Feria replied on Fri, 2008/08/01 - 4:43am

Another option is for Sun to help <a href="http://landonf.bikemonkey.org/static/soylatte/">SoyLatte</a> get things going on a faster pace. This will ensure that we get openJDK released without worrying about Apple ignoring the Java developers.

The best thing, of course, is to make Apple realize that there are Java developers using Macs, including me. :) 

Fabrizio Giudici replied on Fri, 2008/08/01 - 5:08am

Deane, I'm in your same boat and I sympathize. Thanks also for making it clear the problem about the Intel 64 distribution in customers' machines - I say this because too often somebody replies to this topic "just buy a recent Mac" as if it was the only problem.

My point is that it's not realistic to ask to Sun now for supporting Java 5. It's not realistic because of the huge amount of things that they did in order to support JavaFX and all that stuff is in Java 6. Of course, backporting is always possible in principle, but it requires for a lot of resources. As far as we can see, all the Sun guys are already pushing hard for JavaFX on Java 6, they have still a lot of stuff to do and the thing must work fine since v1.0 because they are chasing the competitors. They won't have another chance. And we also know that Sun doesn't have at the moment the plentiness of financial resources that others such as Google can use for doing a lot of things at the same time. So they are basically forced to focus on the main thing.

I see much more realistic the SoyLatte way, of course this will require some time. So far, I was able to run on SoyLatte almost everything I tried - the only problem were some of the demos of JavaFX, but they were from an older release. In the next days I'll try with the new release. Of course, SoyLatte has got the problem of the missing Cocoa bindings, and this is one of the points where the community should focus. I myself wold happily work on it, but I don't have any experience with neither ObjectiveC or Cocoa, so I can't help developing it. But I've already offered myself for testing. I only hope that some other guy with the proper developing experience will help.

Jakob Jenkov replied on Fri, 2008/08/01 - 5:21am

I have a MacBook Pro that runs Java 6... Don't you think they are just letting time solve the problem? Sooner or later everybody will have upgraded to Core 2 Duo.

Naiden Gochev replied on Fri, 2008/08/01 - 6:44am

This is somethink like ouuu JavaFX cant run on my DOS box with 386 procesor what is happening where is Write ones run everywhere. No I'm  just kidding but it's  true :( sorry guy, Im just wondering why you with the Core duo procesor hmm what are you think about installing windows :D

Fabrizio Giudici replied on Fri, 2008/08/01 - 6:58am

@jakob: as time passes, the problem will probably be solved, but you'll also loose some business opportunity. And of course the problem will be again here when Java 7 is out (even though probably Java 7 won't be so compelling as Java 6 with all the new desktop stuff, but who knows?).

@naiden: if you read what others write, probably you'd get answers :-) I could use Windows in a virtual box and develop with JavaFX: but what about deploying? What if I target Mac OS X users and most of them still have 32-bit systems? Do you think that I can ask them for switching to Windows?

Naiden Gochev replied on Fri, 2008/08/01 - 7:04am

Ok but you can blame apple for this. Till Version 6.0 the leopard version i think that development of jvms for mac os x is made by apple only. So they must port java 1.6 to Mac os X tiger. And as I know  JDK and JRE are now open so if the target of customers using 32bit mac os x is so big maybe is possible for someone to port only the jre to mac os x .

Casper Bang replied on Fri, 2008/08/01 - 8:50am

When Java enthusiasts escaped from Windows over to the Mac it was to break out of the propriatariness and questionable motives of Microsoft. Today, people clearly hate microsoft, not for their technologies (after all C# n == Java n-1 when it comes to language features) but for political reasons.

What I don't understand is how come Apple can get away with it when their platforms are much more closed and protected than Microsoft's. If you care about Java and open source, and want to have the latest and greatest, just install Ubuntu.

Naiden Gochev replied on Fri, 2008/08/01 - 8:47am

@Casper Bang  I totaly agree with you.

I was microsoft hater but i will not use apple too. The chance to use windows is bigger than the chance to use Mac os X becouse as you said the  apple platforms are much more closed and protected than Microsoft's.But for JavaFX development and etc. Linux wil lbe supported in stable release and it is still not supported in preview release so :( 

 

 

Dean Schulze replied on Fri, 2008/08/01 - 9:20am

This kind of crap is why I refuse to buy a Mac.  Steve Jobs has a history of building and selling over-priced niche machines that are long on asthestics but come up short as engineering machines.  Apple is indifferent to the needs of their users, and that is probably an understatement.

fu uf replied on Fri, 2008/08/01 - 10:10am

Sell your ipod and you can afford a new Linux machine.

 

Jason Young replied on Fri, 2008/08/01 - 10:15am

My guess is they just haven't tested Java 5 enough to say it works. This is a preview release after all, it isn't a general availability release. I mean, exactly what Java 6 feature would JFX require over Java 5?

You can probably find a development build of the compiler that would let you run on Java 5 right now. If you search their JIRA, you can see that there are issues resolved related to Java 5. 

http://jfx.wikia.com/wiki/FAQ#What_is_needed_on_a_machine_to_run_JavaFX_applications.3F

Deane Richan replied on Fri, 2008/08/01 - 11:44am in response to: Jakob Jenkov

In my experience it will take nearly 4 to 5 years for the Apple customer base to migrate to core 2 duo. In the meantime if you want to make applications with wide broad appeal requiring Java 6 is really not a good start. 

Deane Richan replied on Fri, 2008/08/01 - 11:53am in response to: Casper Bang

Mostly what I care about is making the greatest products for the widest possible user base. For example I primarily work on creating teacher tools using rich java clients. Our current customer base is 50% mac and 50% windows. Up until a few months ago we had to support Java 1.4 this is because on Mac Java 5 support was only available on OS X Tiger machines. Since a wide range of customers hadn't upgraded to Tiger we needed to still support Java 1.4 for our clients. Time has now passed enough to finally allow us to move to Java 5 because we feel the Tiger/Leopard install base is great enough.

 We want applications to just work without users having to worry about system requirements. If you were making a website with a specific technology but could only deploy the website to customers using Leopard or Vista you would understand the problem that we are in. 

John Denver replied on Fri, 2008/08/01 - 12:13pm

I hated microsoft too and went to Linux, I didnt like much Apple tactics but last december I was excited to try a Mac with Mac OS X leopard because is certified 100% UNIX so I bought an IMac and then a macbook, now I love Macs. Mac OS X is so productive for developers, its a dream come true like a Linux desktop done right.

Anyway still the 99% market share worldwide Windows and Mac where is it in worldwide market share? 0.50% something like that is a shame because Macs as technology are superior but the true is that Windows still the king on the desktop.

So if I will develop a new desktop app I will target Windows only with Java and Swing and also because Java 6 is only supported as many said in Core 2 Duo on the Macs, or another option is for desktop apps use a dynamic language with a native toolkit one example is Python with PyObjC for the mac it is very easy to use or multiplatform apps with wxPython, PyQT or really use Flex3 or AJAX. Java lost the desktop long time ago the write once run everywhere is broken in Java for desktop apps.

Right now I use a lot Ajax and Flex3 and I think is more robust now for multiplatform GUI. But sometimes Im still using Java with Swing but as I said I only target Windows. I really welcome JRE 6_10 it is great for Java but IMO JavaFX it's a Sun fiasco.

2c.

Regards.

 

Casper Bang replied on Fri, 2008/08/01 - 12:16pm

"Has the concept of "Write Once Run Anywhere" been completely thrown out the window."

Hasn't it always been more marketing (or a pipe dream) than reality though? I've experienced my share of applications which either did not work or just looked really horrible across differnet OS's. Also, one wonders how come pervasive applications such as Skype, Google Earth, Picasa and Firefox are written as multiple native versions rather than being based on Java.

John Denver replied on Fri, 2008/08/01 - 12:30pm in response to: Casper Bang

Skype, Google Earth use TrollTech QT framework, It is a C++ framework but there is a port for Java the name is QTJambi I have played with it and it works great good looking apps the problem is GPL and for comercial development is expensive but maybe it is a solution another is use SWT look at Eclipse it is really a great piece of software and it looks great in Windows, Linux and Mac, on the Mac use carbon but well many apps still using carbon and it will be for a long time more.

Some people will say but with SWT,QTJambi(native toolkits) you will loose the multiplatfom or the true spirit of Java write once run anywhere hahah but guys really we know Swing is broken for mutliplatform and well the purpose of this article but I think better we should use a native toolkits as SWT or QTJambi isn't?.

Or as I said Python with wxPython or PyObjc also is very nice.

Regards.

 

Camilo Arango replied on Fri, 2008/08/01 - 12:53pm in response to: Casper Bang

[quote=cbang]

"Has the concept of "Write Once Run Anywhere" been completely thrown out the window."

Hasn't it always been more marketing (or a pipe dream) than reality though? I've experienced my share of applications which either did not work or just looked really horrible across differnet OS's. Also, one wonders how come pervasive applications such as Skype, Google Earth, Picasa and Firefox are written as multiple native versions rather than being based on Java.

[/quote]

The point is that JavaFX is java technology's solution for the RIA market. Microsoft and Adobe had punch first with Silverlight and AIR. They both offer support for Windows and Mac. They are both available right now. Java, on the other hand has a longer history as a OS agnostic language. It is quite ironic that it will be left behind because of poor multiplatform support.

 If Sun really wants to be ahead, he need a good implementation of Java VM for mac OS available as soon as the other are available. Not one or two years later, or as Apple considers. He has to take the matter into its own hands, or seriously support an open source project. This is not a new problem, and it will be worse. What will happen with Java 7, when it comes out? Maybe Apple decides to drop Java support in their platform altogether, or release it in 2015.

 The bottom line is that right now (ingnoring the fact that it is just a previou) Java FX is not a viable environment for multiplatform RIA applications. You should better go with AIR or Silverlight (I personally prefer the former).

 Now, a stupid question for the comunity:

 If we have a Solaris and a Linux version  of Java 6, how difficult is it to port the thing to yet another *NIX? Isn't Mac OS just that?

 

Casper Bang replied on Fri, 2008/08/01 - 12:54pm in response to: John Denver

Agreed. I think the core of the problem stems from Sun/Java's desire to be and do everything, which it just can't.

Perhaps that's why they made it so horribly difficult to interoperate with native stuff. In contrast, it is super easy to call native stuff from .NET. Hence the success of Mono on Ubuntu, binding to GTK# is a non-issue.

QT-Jambi responsiveness is awesome but I especially like the slot event mechanism over verbose and complex Swing event interfaces. However I don't see Sun changing anytime soon, they appear to want the death of SWT and Eclipse (and the rise of JavaFX).

John Denver replied on Fri, 2008/08/01 - 1:03pm

This is just for the record it is nothing against Java but this is my opinion but I think all the Succesfully Desktop apps are writen with native toolkits and compiled languages as C,C++,Objective-C,Delphi,VB6 just very few are writen with Java, .Net or managed languages.

This is becuase the memory managment is better with compiled languages for desktop apps than managed languages because managed languages memory requirements are very heavy, Also the speed of execution, the direct access to the hardware or OS functionality, Comipled languages have drawbacks all we know like buffer overflows etc but I think for desktop apps compiled languages as C,C++, Objective-C or Delphi are best. Java and managed languages are better for web apps or thin clients custom projects.

I belive in the right tool for the job mantra.

Java and managed languages are best for Enterprise custom projects as web, web service or servers with thin clients.

Dynamic languages(PHP,Python,Perl,Ruby) are best for prototyping, sysadmin, web apps, super RAD.

Compiled languages(C,C++,Objective-C,etc) are best for Desktop apps, Embedded, speed execution, crunching numbers, scientific calculations etc.

So with Java, Python and C it is all what i need.

Regards.

John Denver replied on Fri, 2008/08/01 - 1:26pm in response to: Camilo Arango

Camilo check the SoyLatte effort, It is great they ported from FreeBSD Java to the Mac but the only problem is Swing hehe because Apple doesnt want to share the detials of Aqua UI of Swing on the Mac and for Apple everything is a secret.

I asked one time to the Java team at SUN if there are plans to port SUN jvm with Swing and all to Mac and their answer was that is not their decision, it is the vendor specific decision blah blah blah. So means it will never happen, instead of sending letters to Steve Jobs and Apple because really Apple could throw away Java anytime, they are more busy with Objective-C, Iphone, Cocoa even with dynamic languages than Java, we should send the letters to Sun Microsystem so they can figure out this mess with Java on the Mac and port the JVM and figure out Aqua UI and all the specs for the Mac. But they will say heck with opensourced Java for this situations hehe, I think it will never happen, it is a difficult moment for desktop apps with Java on the Mac, I really hope Apple continue the release of Java even if they are late on the releases,Its better late than never. 

Kevin Daly replied on Fri, 2008/08/01 - 1:45pm

Sorry I can't resist... You people who are all running away from Windows cause it's controlled by Microsoft, you want all the "openness" of Mc OSX. You've basically gone from one proprietary vendor who somewhat supports open standards, to another vendor that is TOTALLY CLOSED.. Do it Steves way or the highway!

I think the issue is that Apple controls Java on Mac, and you're totally at their mercy.

I agree, Vista is a disaster.. Install Ubuntu, OpenSuse or Fedora!

 

ff aaa replied on Fri, 2008/08/01 - 3:16pm in response to: Kevin Daly

Actually (Open) Solaris seems to be a good alternaive for java developers (ot other languages.).

John Denver replied on Fri, 2008/08/01 - 10:11pm in response to: ff aaa

Im sorry to tell you this but 1 week ago I installed OpenSolaris the last release and I didn't like it, it feels like a beta software. I think it is better debain sarge than opensolaris for the moment, the great thing about OpenSolaris is zfs and dtrace but thats all about right now.

Mac OS X isn't a Totally Closed, It's using open standards and opensource on all its layers but there is one up layer that yeah is propetary to Apple and its the GUI layer, I don't think Windows is more open standards than Mac OS X hehe Windows is Totally Closed from up to bottom.

Mac OS X kernel Mach, Darwin are opensource, it use also C Libs and it is Posix complaint, OpenGL, pthreads etc and next release it will use full ZFS and DTrace and is 100% UNIX compliant and also you could use if you want X Windowing System. The only thing I see is closed and propetary is the GUI layer, Appkit, Cocoa, etc. The problem with Java on the mac it is only in that place the GUI.

Really the Macs and Mac OS X are a great piece of technology and it uses a lot of openstandards and opensource but just a tiny piece yes is propetary of Apple but I think Apple in someway have to do their business.

Who we have to blame about this situation, Java on the Mac? My guts are telling  Sun microsystems, Microsoft doesnt do Java for windows, Linux/Unix doesnt do Java for their platform as Mac/Apple should not care about Java, So the only way is Sun Microsystem do something about or the Opensource people do something about as the IceTea project it is Java for Linux, SoyLatte should be the answer for Java on the Mac. The SoyLatte team needs everybody help to figureout the GUI layer so Swing can work on Mac without Apple implementation.

again my 2c.

 

Jess Holle replied on Fri, 2008/08/01 - 11:03pm

Java 5 is ancient history at this point.  Sun will stop supporting it next (not this) fall.

Java 6 has been out for years most everywhere, i.e. it is everywhere that matters.  Yes, I know it just came to the Mac and only then to new Macs.  That was a business decision on Apple's part -- that any but the very latest Mac does not matter even to them.  Who is the rest of the industry to argue when Apple clearly signals this for their own platform?

I swore by Macs for many years, but Apple seems to have open animosity towards development on their platform using anything but their own OS-specific technologies.  Putting an end-user cap on I'd say "who cares?", but I'm a developer user -- and this is thus a huge turn off.

Jess Holle replied on Fri, 2008/08/01 - 11:12pm

Could Sun do Java for the Mac like they do for Windows (essentially declaring Apple a hostile vendor ala Microsoft)?

Sure, but can they afford to?  Doubtful.  In the case of Windows they couldn't afford not to, but Apple's market share is far smaller and anyone who buys a Mac has all but explicitly asked to be at Apple's mercy.

No one is realistically to blame for the state of Java on the Mac other than Apple.  Sun's not a charity.

John Denver replied on Sat, 2008/08/02 - 12:35am in response to: Jess Holle

I'll say again, it is already done thanks to the guy who created SoyLatte Mr.Landon here is the link http://landonf.bikemonkey.org/static/soylatte/

From his website "SoyLatte is a functional, X11-based port of the FreeBSD Java 1.6 patchset to Mac OS X Intel machines"

Also his goal is to port Java7 right away to the Mac when Java7 is released, He only need more help from the opensource Java Mac comunity and this can be a reality and we will not need Apple Java implementation anymore.

We need just to figure out how to implement Swing on Apple UI, is the more difficult task but I think with some kind of help and with Java Mac comunity can do it.

Regards.

Fabrizio Giudici replied on Sat, 2008/08/02 - 6:07am

Good news from SoyLatte:

http://landonf.bikemonkey.org/2008/08/01#OpenJDK_BSD_Project.20080801

John Denver replied on Sat, 2008/08/02 - 7:22am

Awesome news from SoyLatte team, Fabrizio.

We really need instead of discuss in forums if Technology X is better than Y or if JavaFX works or not we should contribute to the SoyLatte project and OpenJDK so we can continue enjoy the succes of Java in all the platforms and enviroments.

Best regards.

Jess Holle replied on Sat, 2008/08/02 - 8:11am

Landon Fuller's work is fabulous.

That said, it won't address the issue for most Mac users until it is as streamlined for them to use this as it would be if Apple delivered it.

On the other hand, if this gets sufficiently robust and has sufficient OpenJDK community backing it could make the Mac a lot more tolerable as a Java development platform -- rather than requiring a dual boot into another OS for the latest and greatest Java tools.

Alex(JAlexoid) ... replied on Sun, 2008/08/03 - 9:40am

Hmmm..... This really sound like a Apple only problem. That is what you get for migrating to a platform that basically has no public plan for supporting Java and related technologies(that are under their control, by their own request).

Apple for a fact is a marketing and image driven company, what did the hordes of developers expect from them?

Gratz to the people at SoyLatte!

But as I see it, Apple is a minor problem for me and my customers, most of witch are on Window and Linux, and those that are on Macs have Windows XP running in a VM.

Comment viewing options

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