Good news, Apple deprecated Java
Apple released an update to their Java environment on Wednesday, and among the changes the big one is that they have declared Java "deprecated". This has generated lots of buzz from the Java community, many of them saying that Apple is trying to kill Java on the Mac platform, or that OS X 10.7 "Lion" will not come with Java pre-installed, a change after almost 10 years of Apple providing Java runtime environments on every Apple computer sold. But besides the sparse description of the change in their release notes, Apple has said nothing to confirm or deny these allegations. As a Java developer working exclusively on a Mac for almost 3 years now, the news first came as a bit of a shock, but after careful consideration I think this is actually good news, or at least not the really bad news that people are talking about. Here’s why.
In the beginning of the OS X era, Apple really cared about having a Java runtime on their operating system. At a time where more than 90% of the desktop computers were Windows machines and most of the desktop application development was done for this OS, having a solid JVM meant that Apple products could run Java-based desktop apps from day one, and it meant that companies would be able to have applications run on either platform as long as they did Java apps. So they licensed the JVM from Sun so that they could write, modify and make sure they had their own virtual machine from day one.
But now, with Apple focusing its effort on consumer devices like the iPhone/iPad, they don’t really care about this anymore. Just last Tuesday, Jobs said that Mac revenue only accounts for 33% of their overall profit, and I think this number will decrease further as they keep bringing new devices to market. With less effort going into OS X, they will start trimming on the edges in order to be more competitive with less resources, and Java on the Apple is the first to go, but it probably won’t be the last. This really is not surprising at all since Java on the Mac has been falling behind the official releases for quite some time. Java 6 was released almost 2 years behind, for starters, and that should have been a big clue of what happened on Wednesday.
But why is this good news, you ask? First, because as of Wednesday, we finally have an updated JDK that’s on par with the official release, including all bug and security fixes, and this will continue to be the case at least until the end of life of Snow Leopard, according to Apple. Second, they haven’t actually said that they will remove Java from Lion, they only said they will not release Apple-controlled versions. This means that we will have to rely on Oracle to produce an OS X version along with all the different versions which they’re already producing (Windows, Linux, Solaris, etc). With Oracle and IBM already collaborating on improving Java, I don’t think this is a big issue, but it’s definitely up to Oracle to do this (or maybe not, since the development of Java is based on OpenJDK, an open source effort that means anyone could come and port everything to OS X). What I would really like is for Apple to contribute back their development efforts into OpenJDK.
There’s really no reason to panic. Writing Java code on the mac should not be affected by Apple’s announcement. If any, having the same JVM release version as other platforms will actually improve it. Writing for the mac also shouldn’t be affected, unless you want your apps to be released through their upcoming App Store, since their leaked guidelines mention that it will not support having apps that are written using "deprecated or optionally-installed technologies", but you can still release the apps yourself.
The only gray area right now, as I see it, is the Apple Java Extensions API. This is the API that allows Java applications work closely with OS X, and includes things like event handling, Menu generation and underlying functionality and that make applications like IntelliJ IDEA look more like a native Mac application. As before, I sincerely hope that Apple contributes this back to OpenJDK. Worst case scenario, the Java community would have to reproduce these libraries from scratch. But besides that, Java on the Mac is just business as usual, and that’s good news.
Senthil Kumar B
may be .NET (Mono) also could be included in the list …
Just kidding.. 🙂
Wakka
You are very naive. See what has happened with Flash, it will soon happen to Java.
OSX Lion includes a store, just like the mobile devices. In a future OSX release, there is probably no other way to install software, but the store.
Someday, there will be no other than way to create software than objective c for the mac.
Sorry about the bad english.
Luciano
Do not forget the other bad news: Java apps are banned from the App Store, and those two announcements must be thought together.
Carsten Schlipf
There are two things that make me wonder.
First – why did Apple not made it clear, that they just want to move out as Java Vendor and let the field up to others. If Apple still wants Java on Macs, why not a joint announcement with e.g. Oracle, that Oracle will release an official JVM? After all it worries me, that this has obviously come as big surprise to Oracle, as there is still no announcement from their side.
Second – when you read the condition for participating in the Mac Store you’ll see that Java applications are once again mentioned as ‘deprecated’ and that they are not allowed to be published there.
Anonymous
this is a pretty bad move… lots of Java developers
( and devs using other languages that run on the JVM ) moved to OSX from windows as it is much better to develop on for java.
I know there is linux and what not, but having a *nix based laptop that just works that I can develop JVM based applications was/is awesome. I don’t care if there is desktop java. the only thing i use java for on the ‘desktop’ is for my IDE ( which I guess is a bit of a problem ) But java on the desktop for the consumer was just something that never really happened or is ever going to happen. The write once, run everywhere on the desktop just isn’t there.
Oh and the app store for OSX apps. really? WTF? Lets see, how can apple make money for doing nothing? Oh.. by making a censored app store.. awesome. now i can buy an airhorn app for my laptop! cool. more useless crap.
Luciano Ramalho
"I know there is linux and what not, but having a *nix based laptop that just works". You should try Ubuntu Linux. It "just works" in a way that no other existing OS does. Try to install a Windows version that did not come bundled with your laptop. Now do the same with Ubuntu Linux. It just works. In fact, installing Ubuntu on a random notebook these days actually takes less time than going through the bootstrapping process of the pre-installed OS.
AustralianITGuy
I disagree.
From Oracle’s money-driven perspective, what is the benefit of create OS X port ? They cannot sell servers, databases or anything else to OS X customers (maybe JDeveloper….does that still cost money and does anyone care). OS X is not Windows – which is 85% (at least of market) and is a viable server platform.
OpenJDK may be a ray of hope, but they need to worry about windows and linux first (more common deployment targets for server apps). they may end up being slower than Apple at keeping pace with latest JDK releases overall.
The thought of going back to Windows and/or linux leaves me with little enthusiasm. Ubuntu 10.10 is nice, but not in the same league. Windows 7 is….more Windows circa 2001 with window dressing.
Cubara
I’m pretty sure that apple wants drop other development platforms & applications like flash, java etc. from all of the apple products. They want close development, get paid for it and this not possible with platforms, that aren’t completely under their control. Just take look at the Jobs words about the Android.
Also sry about english. ;D
Dipen
Its really good news for java developers and also iphone developers coz in future they will java for application in Apple products
Craig Tataryn
Just reposting my comment from DZone here, wish they’d link they’d allow you to link the two:
I think all the "freak button" reactions stem from the fact that Oracle didn’t come out with a coordinated statement saying "Oracle JDK for Mac will be available for download in …"
So we are just left speculating what’s going to happen. So either Apple blindsided them with this or Oracle PR sucks.
Enterprise doesn’t even care about this news, really this only affects Java devs and the handful of Java desktop apps that run on OSX. And for the latter, well, they just have to do what they do on Windows now: direct the user to install a JRE, or bundle one with the app (if possible).
So I agree with JavaGeek, this isn’t a big deal at the end of the day.
chg
Bad News – Very Angry.
Having switched from Windows to Mac OS X, 11 months ago, in order to have a better Java development environment, and having explained my need for Java to the Apple Store, I feel cheated and ripped-off.
If I’d bought 2 cars, then months later the manufacturer permanently removed the engine or seats when it went in for service, I could fight them in law. I have now switched from an Apple Champion to an Apple avoider (of all Apple products).
Maybe Steve Ballmer would like to do a TV Ad of how I will have to buy Windows 7 for my Mac, just to do my work? I now wish Android well, as there is no future with Apple.
Leila Caison
We understand that Apple has been discussing with Oracle regarding the future of the Java sdk on the Mac and that a compromise was reached in November 2010:
Oracle and Apple announced the OpenJDK project for Mac OS X. Apple will contribute most of the key components, tools and technology required for a Java SE 7 implementation on Mac OS X.
"We’re delighted to be working with Oracle to insure that there continues to be a great version of Java on the Mac," said Bertrand Serlet, Apple’s senior vice president of Software Engineering.
Apple also confirmed that Java SE 6 will continue to be available from Apple for Mac OS X Snow Leopard® and the upcoming release of Mac OS X Lion. Java SE 7 and future versions of Java for Mac OS X will be available from Oracle.
We thus hope that following the negotiations, Apple will reconsider his decision and allow Java applications in the Mac App Store.
We, at Qoppa Software, recently tried to submit our application PDF Studio to the new Mac App Store. We were disappointed to find out that Java applications were not allowed.
We believe that excluding all Java applications is depriving Mac users in terms of technology, choice and price, as it is excluding a wide range of portable applications that can bring unique technology to the Mac platform and at a lower cost.
In the case of our application, PDF Studio, we like to believe that it is the best PDF software on the Mac after Adobe® Acrobat® and it is 4 times cheaper. To our knowledge, other than Acrobat, all native PDF applications available on the Mac are based on the embedded PDF technology that ships with Mac OSX (named Quartz) and they all have the same limitations: no digital signatures, poor support for interactive forms among others. We, as vendors, bring our own proprietary PDF engine, which brings unique value to the Mac platform.