Some thoughts on Java, OS X, Eclipse and others

by kai on 26/10/2010



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[1].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).

{ 4 comments… read them below or add one }

Andy Jarrett October 27, 2010 at 6:12 am

Did you know that there is a petition to sign for getting Apple to donate their JDK to the OpenJDK project at http://www.petitionspot.com/petitions/macjdk

Personally though the moves sucks what Apple doing is right. Why should they push out Oracles changes just like I wouldn’t expect to get my Flash updates from Apple either. What is annoying is that it is this late in the game.

I would like see Apple ( and even Adobe ) following IBM and joining/collaborating with the OpenJDK project though I can’t see a reason for Apple to do so as they get nothing back (directly) in return.

Reply

Laurent October 29, 2010 at 1:20 am

Question for Mac Users: can’t you just install without a lot of pain the java version available for Linux as MacOS is unix based?

Reply

admin November 9, 2010 at 8:55 pm

Laurent, that’s what sort-of SoyLatte is about. It’s a port of a unix/FreeBSD JVM/JDK. You can’t really use the Linux Java as it’s a different platform.

Reply

Grimesters November 24, 2010 at 2:38 am

You’ve gotta be pretty crazy buying hardware from a company that is doing it’s dangdest to hinder the platform that makes “us” money (Flash). For me though I think the worst thing about Apple equipment is that a lot of their users seem to think their “cool quotient” is boosted by owning the kit. You are no longer “thinking different” whatever that meant, just following all the other iSheep!

Reply

Leave a Comment

Previous post:

Next post: