Apple Shuns Java in Mac OS X
Apple continues to drive away Java developers and the Java platform itself today as news has come in that they will deprecate Java on Mac OS X. Apple's Java runtime for Mac OS X 10.6 (Snow Leopard) update 3 and OS X 10.5 (Leopard) update 8 are deprecated, which means they won't be maintained at the same level as before.
It also seems likely that Apple will remove their Java runtime completely from the upcoming Mac OS X 10.7 (Lion) release and future releases. However, the Java runtime that ships with Leopard and Snow Leopard will be supported and maintained until the end of their support cycles. Apple's OS X 10.6 update brings the Java version up to 1.6.0_22.
The release notes give users instructions for installing third-party VMs, indicating that Apple is going to leave it to OpenJDK ports such as SoyLatte to make Java runtime builds for the Mac OS.
Alex Blewitt explains the Eclipse issues in more detail:
There was an article on Javalobby about the 2007 Java-Mac OS X events and at that time, Java Father James Gosling had already given up on Macs:
While Apple hasn't explained its motivation for deprecating Java, possibilities might include problems with security, Apple's preference toward its own technologies, or what Gosling mentioned: demographics. Today's news probably won't have a significant impact on Apple's sales, but there will probably be a number of Java developers looking to use another OS.
Does anyone use Mac for Java development? How does this news affect you?
It also seems likely that Apple will remove their Java runtime completely from the upcoming Mac OS X 10.7 (Lion) release and future releases. However, the Java runtime that ships with Leopard and Snow Leopard will be supported and maintained until the end of their support cycles. Apple's OS X 10.6 update brings the Java version up to 1.6.0_22.
The release notes give users instructions for installing third-party VMs, indicating that Apple is going to leave it to OpenJDK ports such as SoyLatte to make Java runtime builds for the Mac OS.
IDEs
In the next year or two, we may not see Eclipse on Macs anymore. This slow death could begin if Apple doesn't ship a JVM in Lion. The other major IDEs, NetBeans and IntelliJ IDEA, will have an even tougher time staying on the OS because they rely directly on AWT and Swing. A port of OpenJDK might use X11 instead of native OSX windowing components.Alex Blewitt explains the Eclipse issues in more detail:
One of the key problems is that the OSX implementation of Java provides a number of Cocoa-specific bindings and hooks. Whilst Eclipse is based on top of SWT, and SWT uses the native widget set directly (rather than AWT and Swing which render their own), there are a number of hooks into the Cocoa layer to provide application-level services. Some of these have been extended in the redesigned eAWT package to permit Java applications to opt into user events (including the “sudden termination” which enables faster OS shutdown). --Alex Blewitt
The Writing Has Been on the Wall
We saw Apple's declining enthusiasm for Java back in 2007 when Leopard was being released and PPC users were left with an old version of Java when 64-bit JVM development was halted. It was a major shift from 2001 when Steve Jobs said Mac OS X was the best platform for Java development.There was an article on Javalobby about the 2007 Java-Mac OS X events and at that time, Java Father James Gosling had already given up on Macs:
"As several people have noticed at my talks over the past few months, I no longer carry a Mac laptop. As much as I love the Mac's eye candy, it really hasn't been keeping up as a developer's machine - their attention has clearly been elsewhere. Apple's JDK support is a part of my problem, and yes, I have their JDK6 from the ADC. I've met the folks on the JDK team and they're trying real hard. It's hard to tell what the fundamental issue is, but it keeps feeling like the big problem is that developers aren't the "Target Demographic"." --James Gosling
While Apple hasn't explained its motivation for deprecating Java, possibilities might include problems with security, Apple's preference toward its own technologies, or what Gosling mentioned: demographics. Today's news probably won't have a significant impact on Apple's sales, but there will probably be a number of Java developers looking to use another OS.
Does anyone use Mac for Java development? How does this news affect you?






Comments
Jammer Man replied on Thu, 2010/10/21 - 11:44am
Fine by me. Now when someone in our group asks for a Mac instead of a Windows laptop, I now have justification to deny them. It's also one less platform I need to worry about (Safari) when developing web applications.
Thanks for making my life easier, Apple!
replied on Thu, 2010/10/21 - 11:57am
Jim Lombardo replied on Thu, 2010/10/21 - 12:07pm
Charles (Ted) Wise replied on Thu, 2010/10/21 - 12:25pm
Thai Dang Vu replied on Thu, 2010/10/21 - 12:42pm
Eric Bresie replied on Thu, 2010/10/21 - 1:25pm
I don't own a Mac so it doesn't effect me, however...
I think this is actually good. It helps with the fragmentation of the Java world. It gets rid of another instance of Java. It avoids Mac platform always lagging behind in keeping up to date with Oracle/Sun implementation.
Perhaps (if Apple will let them), the internal developers can join in to the openJDK and continue to support things there (like IBM).
I've heard some improvements in the openjdk (i.e. XRender) helped for Linux. I would suspect it might be usable on Mac OSX as well.
Alex Blewitt replied on Thu, 2010/10/21 - 1:58pm
Pide Piper replied on Thu, 2010/10/21 - 2:05pm
Pide Piper replied on Thu, 2010/10/21 - 2:11pm
in response to:
Jim Lombardo
Vitaly Mikheev replied on Thu, 2010/10/21 - 2:25pm
That's fine! Finally, Mac users will have a choice of installing Java of that version (and of that vendor) they need.
Obviously, Apple was never interested in Java. If this move would happen several years ago, we would already have a mature mainstream Java SE for Mac OS as we have it for Linux.
Vitaly Mikheev replied on Thu, 2010/10/21 - 2:30pm
@Pide Piper
Absolutely! Language implementation is not Apple's core business (at least for the last 35 years ;)
Collin Fagan replied on Thu, 2010/10/21 - 2:33pm
Dudu Zerah replied on Thu, 2010/10/21 - 2:47pm
Arek Stryjski replied on Thu, 2010/10/21 - 2:50pm
Jonathan Fisher replied on Thu, 2010/10/21 - 3:11pm
Richard Osbaldeston replied on Thu, 2010/10/21 - 4:18pm
Wow this is a kick n the pants for developers hoping for a Java desktop revival. Having the runtime preinstalled was a much preferable to forcing users to navigate to a download site and install the correct runtime themselves, let alone keep it up-to-date etc..
So we'll have to wait and see if Oracle is going to step up to fill the gap. Worst case scenario is no Apple JVM in Lion and users have to wait another year before one becomes available from Oracle. An Open Source project probably won't cut it, users won't trust it and theres simply too much work needed to get it up-to-spec and keep it updated & secure. SoyLatte currently only works on X11 if you've seen such apps on Mac OSX (e.g. Gimp) you'll know this isn't going to be acceptable. Developers should expect parity with what the Linux runtime offers at least. Esp when it comes to hardware/gpu acceleration & effects. JavaFX 2.0 will be launching around the same time, going to be a damp squib if it only works on Windows & Linux. The next best thing would be Apple contributing their JVM code, or the changes back to Oracle.
Did this news come completely out-of-the-blue? Why weren't Oracle ready with news that they'll be supporting Mac OS X going forward. Why leave space for FUD? In fact why wasn't this made as a joint announcement? Hard to believe the last(?) third party JVM licensee didnt inform Oracle some time ago. Sometimes I wonder if Suns PR department was the only one to survive the acquisition intact.
The other news is Java apps won't be admissible to the new Mac OS X appstore, which will no doubt be marketed as the only safe way to purchase & install new apps on Lion. Even if we do get a substitute JVM vendor Java apps (or even part Java apps) won't be able to compete on the same playing field as native OS X ones it seems. Grim news really.
As Eclipse uses SWT and bindings for Cocoa already exist for this, can Eclipse run on SoyLatte as-is without X11? in which case its mostly Netbeans & IntelliJ devs and Swing users who'll feel the most pain.
Javier Diaz replied on Thu, 2010/10/21 - 4:14pm
Henk De Boer replied on Thu, 2010/10/21 - 4:48pm
I do wonder about one thing. Wasn't OpenJDK supposed to be Mac compatible from the outset, our savior for the always behind Apple port?
Then why is is that there are no pre-compiled binaries being made available except from a single very old version of OpenJDK 6. One can definitely build them from source, but there simply aren't any being made available. What gives?
Otengi Miloskov replied on Thu, 2010/10/21 - 5:04pm
Otengi Miloskov replied on Thu, 2010/10/21 - 5:18pm
in response to:
Jammer Man
Justin Forder replied on Fri, 2010/10/22 - 2:35am
Martijn Verburg replied on Fri, 2010/10/22 - 3:50am
Otengi Miloskov replied on Fri, 2010/10/22 - 4:06am
in response to:
Justin Forder
Otengi Miloskov replied on Fri, 2010/10/22 - 4:12am
Armin Ehrenreich replied on Fri, 2010/10/22 - 4:35am
in response to:
Martijn Verburg
Apple needed years to provide a decent, fast Swing implementation. And they know their platform and have used non public APIs for implementation.
Oracle has no chance to do this in reasonable time on their own. And after all, why implement AWT it they head for JavaFX? But this would mean only to have a X11 implementation of Swing on the Mac.
Igor Laera replied on Fri, 2010/10/22 - 8:08am
I work with XCode on a MacMini. I can't really see any app that is build with Java to run
on a Mac without extreme conformance.
The Mac guys I know despise 1:1 RCP/Swing ports, because the most devs simply don't
invest any time to optimise the gui to mac users. For me, JavaGui on a Mac is a kludge for
developers, but not real users. I can't see how todo anything on Mac without entering the
ObjectiveC+Cocoa 'universe'.
If Oracle delivers timely, real jdk ports to write server software - I could see that. But I doubt
that the number of successful, performant, really liked java apps on Mac exceeds 20.
My take on it, especially with the new Appstore for Mac is, to find a way to autoconvert/
cross compile/port Java2Objective-C and slash a real Cocoa frontend on it.
Yannick Menager replied on Fri, 2010/10/22 - 9:54am
in response to:
Justin Forder
If it was *only* about deprecating the JVM... That excuse would be have been somewhat believable.
However if you couple that with the "Java apps are forbidden from the new Mac App Store", it clearly shows that the reasons are primarily anti-competitive.
Ponraj Suthanth... replied on Fri, 2010/10/22 - 11:41am
Well i belive, Steve, has got something different. If apple sees the big success of IPod and IPhone, that dosent mean they have won the whole heart.
Avoiding JVM Specifically means, locking out Java, JRuby, Scala, Grovy etc. I dont think Object C can catchup all those stuffs.
I beleive the Apple JVM will be provided by Open source community instead of the Apple itself. if that happens, i would feel good. if not, i would look for avoiding Apple.
Regards
Ponraj S
Claude Lalyre replied on Fri, 2010/10/22 - 12:33pm
Jason Kilgrow replied on Fri, 2010/10/22 - 12:41pm
in response to:
Charles (Ted) Wise