Dr. Axel Rauschmayer is a freelance software engineer, blogger and educator, located in Munich, Germany. Axel is a DZone MVB and is not an employee of DZone and has posted 246 posts at DZone. You can read more from them at their website. View Full User Profile

I Think I Figured Out Apple's Java 6 Strategy

  • submit to reddit

Apple has been really negligent with Java: First there wasn't a Java 6 for ages, then it only ran on 64 bit machines. And while all current Macs are 64bit, this excludes a lot of Intel Macs. Thus, targetting Java 6 on the Mac was not practical. Fortunately, one of the WWDC 2009 sessions was “Java 6 on Snow Leopard”:

As Snow Leopard moves to Java 6, learn modern techniques for the best possible Mac experience while maintaining cross-platform compatibility using the latest version of Java. Find out how Mac OS X continues to build on its strong Java support with new UI enhancements, new APIs, and a next-generation Java Applet browser plug-in.

Now I think I understand Apple's Java 6 strategy:

  • Don't support PowerPC, ever.
  • Initially support Java 6 as quickly as possible on currently sold Macs (with the limited resources Apple has allocated to Java). This meant support for 64bit Intel only.
  • Eventually support all Intel Macs. Well, at least I don't see any other way of interpreting the WWDC session (if Java 6 is standard on Snow Leopard and Snow Leopard runs on all Intel Macs...).

 And while I'm still underwhelmed, this is acceptable. What is not acceptable is not having communicated this strategy for years.

From http://2ality.blogspot.com



Published at DZone with permission of Axel Rauschmayer, author and DZone MVB.

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



Felix Martin replied on Mon, 2009/06/22 - 2:52am

Snow Leopard doesn't run on all Intel Macs. From http://www.apple.com/es/macosx/specs.html:

         64-bit support

          requires a Mac with a 64-bit processor.



Axel Rauschmayer replied on Mon, 2009/06/22 - 3:50am

If I read the page correctly, it is the feature "64-bit support" that "requires a Mac with a 64-bit processor", not Snow Leopard per se.

Jeff Martin replied on Mon, 2009/06/22 - 8:53am

Sun is responsible for this mess. They should be doing Java for Mac OS X, instead of relying on an outside party to do their job. Apple would never risk leaving a key element of their own software in another's hands. Java 6 offered the perfect break, since it includes Nimbus. Sun could have shipped Java 6 for Mac OS X with Nimbus and encouraged Apple to implement and provide the Aqua Look and Feel as a plugin.

Axel Rauschmayer replied on Mon, 2009/06/22 - 9:28am in response to: Jeff Martin

There must be some kind of deal between the two companies. Do you know the details or are you guessing? It could be anywhere between Sun saying that if Apple doesn't do it, they won't. Or Apple saying that nobody should touch their system. Either way, I blame both companies for not finding a more developer-friendly solution. And again I have to wonder why there is no public statement that explains the situation.

Trevor Leach replied on Mon, 2009/06/22 - 9:41am

I will be very surprised if Java 6 ever runs on my 32-bit intel MacBook Pro, and even if it does I will still be disgusted with Apple and their "1st class Java development platform."

Carl Antaki replied on Mon, 2009/06/22 - 11:01am

Does Java 6 update 13 works on Safari 4 under Snow Leopard? Under Leopard it doesn't work with either Safari 4 or FF 3.0.11

Mike P(Okidoky) replied on Mon, 2009/06/22 - 1:09pm

I can't understand for the life of me why Sun employees happily flaunt around their arrogant Apple MacBooks.

Ubuntu is cooler, more "hip", and *much* better for Java development.

Screw Apple, for about 3+ years now.

Zart Colwin replied on Mon, 2009/06/22 - 1:35pm

Apple have no interrest in java at all, their prefered language is ObjectiveC period.

I have been a fervent Macintosh developer for about 20 years (since 1984 up to 2004), but I had to abandon the Macintosh out of anger when it finally became obvious that java would never ever be a first class citizen on the Macintosh in order to not challenge the prefered Objective-C language.

At that time, I have been told by an insider (From the Apple Developer Support) that Sun often attempt to convince Apple to let them implement the JVM for the Macintosh but Apple has always refused because they (Apple) didn't want to reveal some technologies implemented within, the then new born, MacOSX.

 Since then, Sun, which didn't need the tiny Apple marketshare (less than 3% around that time) to assure the success of Java, just said "f**k you Apple".

Java had the success we know it had: thanks to its technological power.
Apple had the success we know it had: thanks to its marketing power.
But Java on Macintosh is the failure we know it is: thanks to ... technologist does not go along with marketer.




Keith Fry replied on Mon, 2009/06/22 - 4:35pm

It's interesting that the title of this article is "Apple's Java 6 Strategy".

IMO this is really Sun's failure to recognize that the Mac OS is a player in the desktop/development space. Since they didn't support Mac OS early on due to its perceived limited market share the result is no consistent solution and they now cannot afford to play catch up by developing it from scratch as they don't have the $$ to do it themselves. Apple doesn't have a vested interest in keeping it up to date because Apple is more interested in expanding their "cutting edge" solutions and developing iPhone tooling. (OK, I admit, "cutting edge" isn't entirely accurate but you get the idea).

I don't consider this as Apple holding back, instead it's just not Apple's priority until they see a benefit that outweighs the efforts they currently have underway for Mac OS X and the iPhone. Until they see this benefit, Java will be lacking on the Mac OS. How do we as motivated developers make them see the benefit? That in itself would be an interesting article, to whomever figures it out...

Sun either needs to take the reigns and drive the solution, or sit back and accept that they get what they paid for due to their lack of vision. And in reality it is not Sun's problem any more - it is now Larry Ellison's problem.

Mike P(Okidoky) replied on Mon, 2009/06/22 - 9:58pm

One possible solution is to make Java2D completely OpenGL based, if that's possible. Then take the open source version of Java, and use it.

That's what the problem is, right? Good performing graphics and UI's?

Thierry Milard replied on Tue, 2009/06/23 - 2:58am

For me, if Apple and sun have a strategy in common (I really have no time to choose who's fault it is ... I mean yes there has been long standing issues on Mac), there will-or-should quickly have a jre version of the java-6-update-10 so that we developpers can publish Applets on the Mac-Apple platform.

for example I do 2D stuffs and 3D. I also would like to do javaFx things. Because it is visual stuffs, at least 30% of my customer ask me for a Macintosh Apple version of the Applet. And of course it just can't do it [I use specific things of the update 10 jre].



Jason Kilgrow replied on Tue, 2009/06/23 - 7:52am

@Jeff Martin:

"Sun is responsible for this mess."


I would agree if it not for the fact that Apple will not allow SUN to write a JVM for the Mac. One reason Apple is always behind is because it takes them forever to "get around to" building a SUN JVM that works with their OS.


Sorry. I don't usually say this, but, you are dead wrong.

Zart Colwin replied on Wed, 2009/06/24 - 6:11am in response to: Keith Fry


Now that the JDK (version 6 and 7) is open sourced, isn't it interresting to think about why is there still no version developed for MacOSX ?

Is it because of:
  • A) A complete lack of interest for the MacOSX platform from the open source JDK developer community ?
  • B) SUN convincing the developer community to NOT develop an open source JDK for the MacOSX platform ?
  • C) Apple preventing the developer community to develop an open source JDK for the MacOSX platform ?
  • D) any other reason ?



Osvaldo Doederlein replied on Wed, 2009/06/24 - 7:30am

This thread is so full of misinformation (or trolling) that it's incredible, I wonder if I am being victim of some DNS attack... but well, let's go...

1) Sun doesn't produce the Mac JRE because Apple doesn't want it. This was widely discussed by official sources (at least from Sun - Apple's engineers probably can't talk about anything). Some years ago, when that was decided and Apple did a pretty good port of Java 5, it even looked like a good idea - and I think it was at that time that Sun people started to buy MacBooks wholesale. But then, Apple changed their priorities due to the success of OSX and iPhone platforms.

2) There is a open source, comunity driven OSX port of Java 6, based on OpenJDK: SoyLatte. It's a relatively new port with limitations like only supporting X11 as its GUI foundation. Perhaps the Mac lovers should start a campaign to push Apple to open source their OSX-specific enhancements, just like we all pushed Sun for years until they started OpenJDK.

3) Sun's Java2D implementation already has a OpenGL back-end, so it's completely accelerated in platforms like Solaris and Linux. That's been true for several years already, although the quality of the OGL pipeline is much better in Java 6 (D3D was obviously the priotity when they started to accelerate J2D years ago). I don't know if Apple's JRE is based on OGL or in OSX-specific APIs (Quartz stuff), but the OGL should certainly work fine as Apple supports OGL2 very well AFAIK. Although use of OSX-specific APIs should be necessary for the best integration with Mac's desktop and unique features.

Les Stroud replied on Thu, 2009/06/25 - 5:57pm

At this point, with the open jdk and now modular jdk7, it makes no sense for Apple not to implement their enhancements as a module and bolt it on to the open source jvm. It would save them on development costs and likely keep them more up to date with the rest of the community.

sub online replied on Fri, 2009/06/26 - 2:34am

Shameless! How could you do such a thing! You're shameless.So what? You are such a bad person Who's gonna like you?Say again? Could you repeat that please?Over my dead body.Tiffany JewelleryBe quiet.links of londonYou say it but you don't mean it.Looking for trouble.Go with the flow.Let it be! Leave it be.links of londonI can't do two things at the same time.That's not a good idea.That goes without saying.

Comment viewing options

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