Apr 30 2008
Today, Apple released a 64-Bit, Intel-only version of Java 6 for Mac OS X 10.5.2 Leopard. That’s more than a year after Java 6 was officially launched for Windows, GNU/Linux and Solaris. People were upset when Leopard was shipped without Java 6, and now they are upset because Apple gives them a 64-Bit, Intel-only version.
There’s already been a lot of Apple-bashing for this during the last year, and although a part of me would like join the chorus, another part of me thinks that there actually is no reason for whining about the way Apple treats Java developers. And the word ‘developer’ is key: There are only few Java desktop applications for Mac OS X in the wild, so it is a fair bet to say that mostly Java developers who are mainly developing for other, non-Apple platforms are interested in having a current JDK. If they were developing for the Mac, we would see more Mac apps, right?
Originally, Apple was supporting Java because they hoped that it would bring more apps to the Macintosh platform. Now Java zealots will burn me at the stake for this, but in the real world, it is quite obvious that Java has failed as a language and platform for desktop applications, so Apple’s hopes in Java were in vain. Users, especially the very picky Mac users, do not like non-native looking graphical user interfaces, and Swing, as great a framework as it might be, first came years too late and now is still only mimicking native look and feel, and it still is resource hungry and no fun to use on weaker machines. I have a Quad Core Mac Pro with 8 GB RAM, and I still do not find Netbeans 6.1 very convincing, and if Netbeans is no good reference for Swing and Java, what is? There are plenty of GUI libraries for several programming languages available that provide multi-platform GUI solutions with native backends and that do a better job at delivering on Java’s multi-platform promise than Java itself ever could.
To make things worse, Java has also failed as a language and platform for web applets. Flash and AJAX have killed Java applets, while most of the credit probably goes to Flash, which has a much smaller footprint than Java, comes with excellent Multimedia capabilities and provides real (and working) multi-platform support at the same time. Flash applets and applications delivered on the promise Sun made for Java.
Today, most Java applications can probably be found in large enterprise environments, where the servers are powered by Java and native and good looking GUIs are not important and only business functionality counts. Those enterprise/corporate environments are very slow to adopt new platforms, and there are still new Java 1.3-based applications being rolled out as I write this. So these customers not only do not need Java 6, they don’t even want it. Besides, Apple plays no role in the enterprise market anyway, and they are probably their only customer for Java on Mac OS X Server.
In very short summary: Almost nobody has ever used or is using Java to develop applications for OS X, so Apple’s obvious lack of interest in Java is quite understandable.
Rumor has it that Apple’s own online store is using Java, and my guess is that this is the main, if not the only reason why Apple is still supporting Java.
You should ask yourself this simple question: If you were Apple, would you still support Java for the Mac? And if yes, what is your business case for it?