Somewhere deeply hidden in the release notes of the recent Java for Mac OS X update, our friends from Apple have announced that they deprecated the Java runtime for Mac OS X and that “developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X”.
Read that as: Mac OS X 10.7 won’t have Java (by Apple), maybe we’re lucky and get the 10.6 update 3 thrown into OS X 10.7, but maybe not. To be fair – Apple was never a big and fast supporter of Java on OS X, for them to release Java 6 and 64-bit versions of the runtime was apparently a major drama so that a bunch of Java developers on the Mac at some point in time just switched to SoyLatte, a FreeBSD port of Java 6. That worked and still works fine for a lot of server applications such as Tomcat.
This solution has an issue though when it comes to desktop applications as those would quite often require Java APIs such as Sound/AWT/Swing etc. Through SoyLatte one’d have to use X11 and not the native Mac UI because the problem is that those APIs tie into the underlying operating system APIs and if Apple is not keen/interested in actively supporting a tie of Java into those for OS X, who is?
A lot of chat, gossiping and commenting went on in the java/mac/webdev communities during the last few days and I have to say I’m not thrilled about Apple going down that way. For me it’s another step towards the “there is just solely our way”-attitude that they put to show when it came to Flash on the iPhone, allowing non-Objective C-apps to the app store and on other occasions such as not installing Flash Player with OS X 10.6 on the new MacBook AIR laptops/netbooks (silly game, Apple). A lot of people were recently saying that “Adobe was the new Microsoft”. Well, I might be able to see where some of those people come from, but if that was the case then Apple would be the new Microsoft to at least the same extent – if not worse
But that’s not the point I wanted to make anyway. I had a look at which Java desktop apps I’m actually running on my Mac(s). The most important one is Eclipse in a variety of flavours: Eclipse, ColdFusion Builder, Flash Builder, FDT and some others. If I couldn’t easily run Eclipse in the future that’d be a major issue. Then: IntelliJ IDEA, Aqua Data Studio and a whole bunch of little Java apps for JVM and GC monitoring or tools of a similar category.
This afternoon I got into a Twitter discussion with @BruceHoult about the whole topic. “Unfortunately” 🙂 he made a point when he said: “their stance that you can install whatever you like but they’re not going to maintain them for you, you mean?”. Yes, why should Apple maintain and support Oracle’s platform? Is Microsoft maintaining the JDK/JRE for Oracle? Probably not (but I don’t know). Side note: This example doesn’t hold for the Flash/iphone situation though as I really can’t install what I want on the iPhone/iPad because Apple would not allow a Flash Player into the app store.
Where does that leave us (or rather me)? Basically I need and want Eclipse to run on future versions of Mac OS X, otherwise the Mac platform would be as dead as it could be for me as a development platform. Luckily, that’s doable with SoyLatte and OpenJDK today as shown here: http://njbartlett.name/2010/10/24/eclipse-soylatte-no-x11.html. This solution might not yet offer the best and greatest performance ever yet, but I’m sure that people will put effort into OpenJDK for OS X re performance and additional functionality. Don’t underestimate the financial & time investments software vendors like Adobe have made into the Eclipse platform. Just alone Flash Builder, ColdFusion Builder and Flash Catalyst are built on top of Eclipse and the amount of Adobe-related development happening on OS X is still very high, even though SJ and Apple have pissed off the Adobe community to a certain extent.
Another very interesting piece to read is shoes.drop(); – basically saying, stop whining, the Java-on-desktop API model was flawed anyway and it’s up to Oracle to come up with a proper strategy for Java 7 and 8. This post does have a lot of merit, I still don’t see Java on the desktop on OS X being dead (yet).