In a note accompanying the Java platform update released yesterday, Apple has announced that in future versions of Mac OS X, they no longer intend to maintain their Java runtime with the same level of attention as they have in the past, and they may not ship Java as part of the operating system at all.
However, as Apple shipped Java runtimes in both Leopard and Snow Leopard, they will continue to support the Java releases on those platforms during their respective lifecycles.
The Java runtime that is available in Mac OS X is maintained by Apple itself, and is a port of Sun/Oracle’s official Java runtime, with extra class libraries included for integrating with Cocoa and the native graphical display system.
Sources are telling us that the newly announced Mac App Store will reject applications written in Java, and Apple’s developer guidelines mention it by name: “Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected”.
It’s no secret that Apple is not as excited about Java as a platform language as they once were. Earlier versions of Mac OS X allowed developers to write fully integrated Cocoa applications using the Java programming language, using what Apple calls the “Java Bridge“, which Apple deprecated back in 2006.
Java developers may not be completely out of luck though, a number of other companies ship Java runtimes that may show up on Mac OS X, such as IBM or the owner of Java, Oracle itself. In addition, the OpenJDK runtime may become a viable alternative at some point as well now that Apple is no longer committed to the Java runtime.