As we reported in October Apple’s next release of OS X deprecates the version of Java that it ports and supplies as part of OS X. According to the MacRumours site one concerned developer emailed Steve Jobs asking about Apple's future plans for the Java programming language and platform on Mac OS X. Jobs' reply was:
Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it.
Apple have now announced that they will be working with Oracle on a Java SE 7 version for OS X via the OpenJDK project. According to the press release
Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X, including a 32-bit and 64-bit HotSpot-based Java virtual machine, class libraries, a networking stack and the foundation for a new graphical client. OpenJDK will make Apple’s Java technology available to open source developers so they can access and contribute to the effort.
Apple have also confirmed that Java SE 6 will continue to be available from Apple for Mac OS X Snow Leopard® and the upcoming release of Mac OS X Lion. Java SE 7 and future versions of Java for Mac OS X will be available from Oracle.
Given that Java SE 7 is quite close to shipping it is unlikely that Java 7 for OS X will be released at the same time as for the other supported platforms, a point which Henrik Ståhl, who is responsible for product strategy in the Java Platform Group, has made on his blog
My expectation is that we will release on current supported platforms first, and that OSX support will follow later. The JDK 7 schedule can not easily accommodate large changes like the addition of a new platform
Since this story was first published Apple Java Engineering team member Mike Swingler has revealed more details about what is included
To set expectations, the first drop will be effectively a "SoyLatte"-level implementation, but is packaged as a Universal Mac OS X .jdk bundle that can be dropped directly into /Library/Java/JavaVirtualMachines. Over the coming weeks and months, we will be adding pieces and parts of our Java SE 6 implementation to the public project, and will cut over from using an X11-based AWT to a Cocoa NSEvent-based one with a new OpenGL-backed graphics layer.There are several parts of our Java SE 6 implementation (like the AWT widgets) that are not contributable, in much the same way that several parts of Oracle's implementation are not. However, the vast majority of our Swing Aqua Look and Feel implementation is, as well as the eAWT/eIO API. We intend to host the legacy AWT widget set using lightweight peers, but that work is still in progress.
This is excellent news for the many Java developers who run OS X on their development boxes.
Community comments
Good to hear, more surprised by Apple than Oracle
by Russell Leggett,
common-sense and self-interest prevail
by Gerald Loeffler,
Re: common-sense and self-interest prevail
by Cameron Purdy,
Excellent outcome.
by Nos Doughty,
is baking
by Dio Synodinos,
Good to hear, more surprised by Apple than Oracle
by Russell Leggett,
Your message is awaiting moderation. Thank you for participating in the discussion.
While many speculated that Oracle would not care enough to provide a Mac version I was pretty sure it would come. The revamped effort of JavaFX would be pretty silly as a cross-platform UI stack if it wasn't supported on Mac. To honest, I'm actually more surprised at the level of support given by Apple for this. I was pretty sure they would just cut it loose. As a Mac user, I'll admit it's a sigh of relief.
common-sense and self-interest prevail
by Gerald Loeffler,
Your message is awaiting moderation. Thank you for participating in the discussion.
...and in the end it's just a case of Apple offloading to Oracle and IBM the cost of porting the JDK to Mac OS.
Re: common-sense and self-interest prevail
by Cameron Purdy,
Your message is awaiting moderation. Thank you for participating in the discussion.
It's much better than that: It's Apple sharing the cost -- and the work that they've done so far to make it possible!
Remember, the Apple JVM already was the Sun JVM (the same one as in OpenJDK) under the hood, with some nifty Mac OSX capabilities plugged into it.
Peace,
Cameron Purdy | Oracle Coherence
coherence.oracle.com/
Excellent outcome.
by Nos Doughty,
Your message is awaiting moderation. Thank you for participating in the discussion.
I think we've ended up with an excellent outcome.
Apple, by agreeing to supply to the OpenJDK project the hard work they have done in the past to integrate the JVM to OSX, has really put the best interests of the Java developers first.
Although Java isn't my favourite language anymore, with the simply amazing EJB3.1/CDI standards and the work of Adam Bien proselytizing the same, I just can’t see myself moving off Java any time soon.
I’m very happy that I won’t need to use that bootcamp partition I set up last week.
is baking
by Dio Synodinos,
Your message is awaiting moderation. Thank you for participating in the discussion.
wikis.sun.com/display/OpenJDK/Mac+OS+X+Port