Apple has deprecated the version of Java that it ports and maintains for OS X:
As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.
This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.
This is not altogether a bad thing for Java. Waiting for Apple to update its official version has been a frustration for Java developers on the Mac. If Oracle now takes responsibility for delivering the JVM for OS X, it may keep in step.
Unfortunately there is not currently an Oracle JVM for OS X. Nor does the open source Apache Harmony support it. In the light of Apple’s announcement I imagine both may address this lack; though a further complication is that IBM has recently abandoned Harmony in favour of the Open JDK.
Further, in making this statement Apple is further discouraging use of Java application on OS X. This announcement should be put together with this one, in the new developer agreement for apps submitted to the forthcoming Mac App Store, a desktop version of the iOS App Store:
3.3.1 Applications may only use public APIs and frameworks included in the default installation of Mac OS X or as bundled with Xcode as provided by Apple, deprecated technologies (such as Java) may not be used.
I doubt Apple will ever attempt to lock down desktop OS X, iPad-style. But I think we will see strong encouragement from Apple steering users towards App Store installs. There will be hints that it is safer and better, the true Mac way to get apps onto your machine.
Remember the early days of Java? One of the reasons it won support was that it reduced the industry’s dependence on a single vendor and its operating system.
Plenty to think about as Apple increases its market share.
[Updated to clarify non-availability of alternative JVMs for OS X]
- No Java or Adobe AIR apps in Apple’s Mac App Store
- Apple not Android is killing client-side Java – so why is Oracle suing Google?
- Apple rapped by ad standards body for not supporting Flash and Java
- Oxygene for Java released: develop for Android and Java runtime with Delphi language in Visual Studio
- Microsoft deprecates Subsystem for UNIX, recommends open source instead