18 ms·
Apple deprecates Java
- apike 16y agoPeople who follow Apple's developer communication have seen this coming for years. It'll be interesting to see if Oracle steps up to fill the gap or not.
- lapusta 16y agoThere is already a port of OpenJDK: http://landonf.bikemonkey.org/static/soylatte/ http://landonf.bikemonkey.org/static/soylatte/ Though it's not developed by Oracle employees afaik.
- astrange 16y agoSoyLatte is nothing more than a build of the OpenJDK BSD Port. You can build that yourself.
- landonfuller 16y agoNot entirely the case. Soylatte is what became the OpenJDK BSD Mac Port. It was granted re-licensing and was merged upstream to OpenJDK. What this means: - The Java 6 Java Research License (JRL) binaries are based on Sun's Java 6 JRL releases, which mean they closely mirror the shipping official Java 6. They are also out-of-date and no longer supported. You can only build them using the JRL sources available from Soylatte, and redistribution of code and binaries is limited by the JRL. - The OpenJDK 6/7 binaries are built from the OpenJDK repository, which is where all the Soylatte and BSD patchset changes were merged. All current development occurs as part of the OpenJDK BSD-Port project, and the code and binaries are fully redistributable.
- astrange 16y agoWell, I should have said "at this point". Surely building bsd-port is more interesting than building your own Java 6.
- jdub 16y agoNote that they've only deprecated their own Java runtime.
- martey 16y agoI have not done Java development on OS X, but doesn't this mean that OS X 10.7 would not ship with a Java runtime? Wouldn't this have a negative effect on the ease of packaging and distributing Java programs on the platform?
- masklinn 16y ago> doesn't this mean that OS X 10.7 would not ship with a Java runtime? Not, but it does mean 10.7 may ship without a Java runtime: > This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.
- krelian 16y agoWas Java that big on the Mac? Neither Windows nor most Linux distros ship with a Java runtime.
- masklinn 16y agoIt was a very long time ago (> half a decade, at one point it was almost on par with Obj-C as far as runtime-favoritism goes). These days, it's mostly fallen by the wayside
- patio11 16y agoWindows may not, but most Windows computers do, because manufacturers put it there. This used to save me a lot of pain.
- Corrado 16y agoYes, at one point Apple made a big deal about Java being a "primary" language on the OS X platform. It had proper Coca bindings, Mac like look & feel, etc. Steve hawked it in one of the early OS X keynotes as being the future of the Mac platform. An easy language for all those that were confused by Objective-C. Several years ago Apple reversed their position on Java and have been ignoring it ever since. This is merely the last act in the Java play at Apple. Goodnight sweet prince!
- deleted 16y ago[deleted]
- shimonamit 16y agoSounds significant, but how important is Apple/MacOS to Java?
- pyre 16y agoNot really as significant as one might think. This is just Apple saying, "we're discontinuing our own, internally developed and maintained JRE/JDK." I don't know off-hand how far this diverges from Sun/Oracle Java or IBM Java though (maybe someone else can step up with that information). I didn't see anything saying that they would never distribute any JRE on Mac OS X though. They may just find someone else's JRE to distribute.
- zmmmmm 16y agoIf they help to maintain and distribute an alternative JRE (which could only really be OpenJDK, one would think) then it's good news for Java developers. On the other hand, if they don't distribute any and don't help to maintain it then it's a disaster. If the latter turns out to be true then I'd be pretty concerned if I was a Java developer (or if I used any of the JVM based languages).
- cobralibre 16y agoNot very significant as a target platform, I would think, but OS X is certainly a favorite development OS for many Java developers. Sun, for example, had been issuing MacBooks Pro to its engineers during its last few years. It's unclear whether this is positive or a negative announcement. If another party steps up to maintain a JDK/JRE port on OS X, this will probably end up being a good thing, as Java updates from Apple had been infrequent.
- derefr 16y agoDoes this mean that if you want to distribute a Java app bundle, you must package the JRE into it as a framework?
- brisance 16y agoI believe Oracle must explicitly allow distribution of the Java runtime.
- thought_alarm 16y agoNo, it means that Apple is not bringing Java 7 to OS X. It doesn't prevent someone else from bringing Java 7 to OS X, nor does it mean that the existing support for Java 6 is going anywhere.
- deleted 16y ago[deleted]
- derefr 16y agoRight, but, if you're writing an application that relies on Java 7, you now can't expect the user to already have it installed, so you have to bring an install of it along inside your bundle, unless you want to have to direct users to go to the JRE website before installation may proceed.
- cosmicray 16y agoIt also means that Apple has to apply fewer engineering resources to supporting Java. OS X and iOS, full steam ahead !
- jon914 16y agoFor lengths of time, they only had one engineer on it by the name of Mike Swingler. I can't speak for that today, but my source for this info was the Java Swing team themselves since they talked all the time with the Java "team" at Apple.
- nickpp 16y agoWait, I thought Oracle (Java's current owner) is Apple's friend, because of the lawsuit against Google's Android. Head spinning.
- tuxychandru 16y agoI doubt Oracle suing Google was an effort to favor Apple. It was more to save their own Java platform in general and Java ME in particular.
- bad_user 16y agoOh, please, it was more to earn some money out of the Sun acquisition. Like they give a shit about the Java brand.
- Robin_Message 16y agoI'm thinking no-one likes a bully in the playground, so if Oracle is suing Google for effectively writing a JVM, maybe Apple is going to stop maintaining theirs. These things tend to cut both ways.
- mseebach 16y agoFor all the competition, Apple and Google have loads more in common with each other (they both make immensely useful products for end-users) than either has in common with Oracle (who sells very expensive employment-insurance policies for people who'd die laughing three times over before touching the software they purchase with a ten foot pole).
- praptak 16y agoCorps are not people and treating them as such is setting oneself for disappointment. No friends, only interests.
- philwelch 16y agoCompanies aren't usually friends, but CEO's can be. Larry Ellison has repeatedly referred to Steve Jobs as his best friend, and used to serve on Apple's board. Back when Jobs was only "interim" CEO and Apple was at least nominally looking for a permanent CEO, he and Ellison played a prank on some guy who seemed overeager to apply for the job: http://www.cnn.com/TECH/9801/01/apple.oracle.reut/index.html http://www.cnn.com/TECH/9801/01/apple.oracle.reut/index.html and Jobs was the photographer at Ellison's wedding.
- shimonamit 16y agoSpeculative, but could this be an early preventative measure to keep JRuby from challenging their up and coming MacRuby platform?
- masklinn 16y ago"Their" up and coming MacRuby platform? Is that a joke?
- shimonamit 16y agoMight I say, "the up and coming MacRuby platform Apple has designs for"? At least a couple of the committers are Apple employees. But I misattributed the project as being "theirs", which apparently isn't true.
- chc 16y agoEh, it's Apple's in any meaningful way. The project is led by Apple's Laurent Sansonetti, hosted by Apple's Mac OS Forge, and Sansonetti has said that MacRuby is intended to replace RubyCocoa, which is currently bundled with Mac OS X. MacRuby also recently started making improvements to Apple's BridgeSupport framework. I don't know how much more an open-source project like MacRuby could do to deserve to be called "Apple's."
- sigzero 16y agoFrom the contact page: MacRuby is a free software project by Apple Inc. Many folks inside and outside of Apple contribute to this great project and we have a MacRuby Project Team page to list them. Please feel free to contact us if you have any questions, ideas or bugs to report.
- demallien 16y agoIn what respect? MacRuby is a project hosted by Apple. It's lead developer is an Apple employee, and there are several other Apple employees working on the project. In what significant way is it not Apple's platform?
- msy 16y agoI wonder if putting the boot into the most straightforward cross-platform solution for desktop apps has anything to do with the proliferation of OSX Java apps with shoddy/un-maclike UX/UI or whether it's something to do with Oracle's recent moves.
- yakisoft 16y agoI don't think Oracle is even on Apples radar, Apple is largely a consumer/creator focussed business, Oracle is purely B2B.
- riffraff 16y agoyet, some java developers are mac users, losing them does not seem smart
- riffraff 16y agois there such a proliferation? the only java app I use on the mac is cyberduck, and it is neither shoddy nor un-maclike
- hboon 16y agoHad no idea Cyberduck is written in Java. If only all Java desktop applications are like this.
- albertzeyer 16y agoOh, me neither! I really had to check this out. The main point seems to be: They don't use any of the Java GUI frameworks. They instead use some Cocoa bindings. See here: http://trac.cyberduck.ch/browser/trunk/source/ch/cyberduck/ui/cocoa http://trac.cyberduck.ch/browser/trunk/source/ch/cyberduck/u...
- rimantas 16y agoI use SmartSVN, wouldn't call it ugly.
- fauigerzigerk 16y agoThis could be good news for anyone who uses a Mac to work with Java. There could finally be a JDK for OS X that doesn't lag years behind official Java releases. On the other hand, the margin between Apple not supporting something and Apple banning something is incredibly narrow. Steve Jobs doesn't seem to understand the difference between choice and fragmentation very well.
- JeremyBanks 16y agoBanning? I think that seems rather unlikely. To my knowledge Apple's never done anything of the sort on the desktop. On mobile platforms users are more accustomed to having restrictions in place, but if they banned Java on Mac OS the backlash would be immense.
- fauigerzigerk 16y agoAn outright ban does indeed seem remote, but if they start to tie software installation/update/maintainance on the Mac to the Mac AppStore and ban Java apps from the AppStore, the effect on end users' ability to use Java applications is tantamount to a ban.
- JeremyBanks 16y agoI hadn't thought of this in light of the App Store announcement, but apparently it's essential to do so. From the review guidelines: - Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected That's interesting.
- stcredzero 16y agoI wonder if Apple is planning a "superior platform" strategy? If they can move to an App Store being the norm for Mac users and solve lots of deeply ingrained security and compatibility problems in the process, Microsoft/Windows is going to have quite a hard time following. The record for Apple accomplishing big architectural shifts with minimal pain (OS X, PowerPC -> x86) is much better than for Microsoft. (Vista) It would be like a lightly-armed force luring heavily equipped force into boggy ground, where the latter gets stuck in the mud while the former only gets slowed down.
- jon914 16y agoThis worries me greatly because my startup's product is based on Java, which gave us an advantage over others in our space for being able to work across Mac and Windows while maintaining a great user experience thanks to a lot of customization on our part (see profile). While I concede that Java has lost relevance on Mac, there are outliers like ourselves who've written native looking Java software and don't have a viable route should the worst case scenario arise. My only inside knowledge is that the Java "team" within Apple was very small, which explains why it constantly lagged behind on updates.
- fdb 16y agoSo then what's the best way to do cross-platform development? For all its faults, Java does deliver something that resembles the "write once, run anywhere" dream. Any idea for a high-performance, cross-platform, native UI development stack? Is C++/Objective-C still the best option?
- albertcardona 16y agoGTK is trying to get there. Gimp was ported to MacOSX GTK--haven't checked in a while the state of the port. The Inkscape dev team at least has high hopes that GTK will become stable for MacOSX. http://gtk-osx.sourceforge.net/ http://gtk-osx.sourceforge.net/
- blub 16y agoI disagree with GTK, and I recommend Qt. I use several GTK apps on Windows and they don't look native. Furthermore, GTK has some deeply ingrained usability issues - such as the close button - that they bring to all platforms.
- FooBarWidget 16y agoWhich close button are you talking about and how is it inherent to GTK?
- pmjordan 16y agoI'm guessing the close button on dockable floating windows. Is there an implementation of GTK that doesn't run via X11 on the mac? Gimp/Inkscape are lovely software on Linux, but using them on the Mac drives me insane. They're "meh" on Windows. I concluded a while back that the only decent way to do GUI programming properly was to develop multiple native frontends for the platforms you want to support. Everything else seems to produce crap. I haven't found the ideal runtime/language for this yet, though. The C family is an obvious candidate but is a little more low level than necessary for desktop apps. .NET/Mono seems promising, though I do worry about having to distribute the Mono runtime with apps. Plus, people seem to have an irrational fear of it (though probably not end-users).
- xentronium 16y agoDoes this effectively mean that I will not be able to use java application on newer OS X at all (in case of java runtime support removal), or I will have to install some third party java package?
- protomyth 16y agoIt seems like you will do what you do on Windows and some Linux distributions, you will go to Oracle's site and download the JDK / JRE from them. I am really wondering if this is totally and Apple thing or partially a suggestion from Oracle.
- alexyoung 16y agoMaybe the fact WebObjects was removed from Snow Leopard Server means they don't depend on it internally as much? It seems like they've been cooling off on Java development and support over the last few years.
- cosmicray 16y agoI believe that the current WebObjects license (while no longer having a licensing fee) stipulates that it should be run on Apple hardware. Some wags have speculated that it would be OK to run it on an Mac Pro even with Windows 7. I don't believe this is an immediate issue, but one that people doing long term planning should consider. If you want to write/run Java code, have at it. If you want to write something that will be widely distributed, you may want to think carefully.
- slantyyz 16y agoIt used to be cross platform. Back in the dotcom days, I was at a company that would sell implementations of it for Windows and Sun servers. That was when the software price started at 50k (iirc) though. When you're charging that kind of coin, I guess the motivation to support Windows is higher.
- uriel 16y agoJava has never been cross platform. Back in the dot.bomb days running java on anything other than Windows and Solaris was a huge pain in the ass when not outright impossible, and there was Sun's infamous internal memo about how much Java on Solaris sucked!
- blasdel 16y agoI found the memo from 2003: http://web.archive.org/web/20030210024427/http://www.internalmemos.com/memos/memodetails.php?memo_id=1321 http://web.archive.org/web/20030210024427/http://www.interna... -- this blog thread discussing it is enlightening: http://www.advogato.org/article/624.html http://www.advogato.org/article/624.html
- epynonymous 16y agofuck oracle :)
- jrusoff 16y agoDoes anyone else use Oxygen on the mac. I've never found anything that comes close when working with XML. But judging from the clunky UI, I have to conclude it's written in Java. I wonder what they will ship in future, maybe the app with a JVM installer? JR
- mbeihoffer 16y agoWell, maybe not, but at least I don't run around my beiberhood wearing a hoodie the color of the sun yelling BOOM HEADSHOT BILLY MAYS HERE TO EXPLAIN EASTER at 4:30 in the morning.
- ponce 16y agoNow deprecate your own OpenGL drivers.
- steipete 16y agothe only pity may be eclipse.
- tophercyll 16y agoThe biggest loss here is the Mac specific GUI bits. Not only does Apple Java use native drawing primitives for ui (instead of requiring X11 like some ports), it also doesn't look completely horrible. Unlikely as it is, I wish Apple would upstream that code to Oracle. I guess there's potentially still SWT on top of a ported, open source Java7 from Unix/Linux if you need to do non-X11 UI on Mac. Well, some Googling suggests that might work anyway...
- ZeroGravitas 16y agoI was under the impression that iTunes (the backend server) was all written in Java using Apple's own WebObjects framework that they ported from Obj-C. Have they ported it back, or are they planning to ship OpenJDK for server purposes?
- wmf 16y agoOr are they planning to keep iTMS on Java 6 forever?
- jwr 16y agoThat is very bad news for those of us who use Java on Mac OS X. And I don't mean UI programming, but developing server Java (or any JVM-hosted language, such as Clojure) applications.
- swannodette 16y agoWhy? http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/ResolvedIssues/ResolvedIssues.html%23//apple_ref/doc/uid/TP40010380-CH3-DontLinkElementID_11 http://developer.apple.com/library/mac/#releasenotes/Java/Ja... The situation for Java will now be the same as that for developing in any programming language that Apple doesn't ship with OS X or that ships with a version lower than the one you are targeting. My suspicion is that Apple is likely to drop Java in 10.8 which gives ~3 years for the JVM community on OS X to get their act together making OpenJDK work well with OS X. That said, being a Clojure user this does increase my interest in seeing a Clojure-in-Clojure sooner than later. I'd like to see Clojure target LLVM the way MacRuby does.
- grav1tas 16y agoI think stuff like this isn't really that bad for devs who use the platform. Devs (should) have the ability to pull down the replacement in this situation when the time comes. It's going to be harder on the end user that no longer gets why his/her Java application no longer works right.
- jimfl 16y agoCombine this news with the announcement of the App Store for OS X, and one possible conclusion is that Apple doesn't want Java-based apps in the app store. It's an easier prohibition to make if the JVM is not officially supported by Apple. Also, this could be a guard move against Oracle, a capricious litigator.
- ZeroGravitas 16y ago2.24 "Apps that use deprecated or optionally installed technologies (e.g., Java, Rosetta) will be rejected" It doesn't explicitly e.g. it, but Flash isn't installed by default either on the new MacBook Airs, so I'm guessing you can't do a wrapper around a SWF either.
- mbreese 16y agoThat's a very clever move. If you don't want your app store to distribute Flash based programs, just make it so that Flash isn't installed by default. Since it can be installed by users, most people won't notice. But they can legitimately claim that Flash is an optional component... Clever like a fox.
- benologist 16y agoFlash has had "publish to exe" capabilities since forever so I'm sure something'll emerge that publishes to w/e Macs use.
- callahad 16y agoThe Mac App Store also requires that you use XCode to package your apps.
- diskrete 16y agoOne thing this enables is switching platforms. If a future MacBook Air runs on ARM instead of Intel, anyone using Xcode would only need to recompile to target the new platform. Similar to how Intel support was easy for Xcode developers (but very hard for Metrowerks developers). Getting everyone on Xcode gives Apple tremendous flexibility. They could even have apps target LLVM-IL (whatever it’s called) instead of the CPU directly.
- c00p3r 16y agoFirst Flash, then Java. Who would return all my down-wotes? ^_^
- bgruber 16y agoTo argue that having an Apple supported JVM was good, or that it doesn't matter because you'll just have a 3rd-party JVM instead, misses the fact that it's the change itself that will be cause the of problems. As crap as Apple's Java support has been, it was a known quantity: as a developer, you know what your Mac users have (currently it's "most have Java 6, but there are plenty of people still stuck with Java 5"). The same is true for Windows; even though the JVM comes from Sun, everyone gets that same JVM, and pretty much everyone has Java 6. It will take some time before a new one true JVM for Mac emerges. Furthermore, Apple's wishiwashiness on the support ("may not be included") will probably inhibit development on a true replacement.
- shepting 16y agoThe reason that this is a big deal is that they've released/leaked some of the guidelines for the Mac App Store and it states that apps developed using "deprecated or optionally-installed technologies will not be accepted."
- mikecaron 16y agoThis whole thing happened when Java 1.6 came out. It took Apple forever to get it into OS X and there was a big fight for it. Now it's happening again. Must be a pain for Apple to manage it.
- lkrubner 16y agoIt's a smart move from Apple's point of view. Why should Apple work to support Flash or Java or any platform that is owned by someone else? Why not shift the burden of maintenance, and dealing with bugs, onto those who own the platform? And why not open the door to future Apple products that might compete in the same space? Besides all that, this moves suggests a confidence that was unimaginable 10 or more years ago. Apple is no longer desperate for market share, the way it was in 1997. All the same, it makes me sad. I like the JVM. I do not like Java itself, but I like Groovy and I have started to like Clojure.
- lkrubner 16y agoWhy was this downvoted?
- biafra 16y agoThey should care because they sell hardware to people who use those platforms. They will sell less hardware to Java/Scala/Groovy/Clojure/Jython/JRuby/Beanshell programmers this way. The Mac platform is not important enough for Oracle to care. And Java Apps won't be in the App Store.
- umjames 16y agoSo what other JVMs can you run on the Mac today? Will Apple open-source their JVM as a starting point for whomever wants to pick up that ball and run with it? How do you develop for Android on a Mac when their JVM finally disappears? I understand Android uses Dalvik, but will you be able to run Eclipse to get to that point?
- biafra 16y agoYou can run Soylatte. Landon Fuller ported it when there was no Java6 on 32bit Intel Macs. Soylatte now is the Openjdk7 port for Macosx. Which is all good except for desktop Apps. It was impossible to run Netbeans, Eclipse or IntelliJ IDEA on top of Soylatte which only supports X11. Server side development was great with Soylatte and most likely still is. Thanks to Landon Fuller who earned an eternal place in my personal hall of fame with this :-) Without him I would have had to work on Linux or Windows at that time.
- alanh 16y agoGiven that they are deprecating their own Java runtime and that the major differentiation of said runtime from others is the much better approximation of the Mac UI in Java apps, and given that this deprecation is coming ~9 months ahead of OS X 10.7 Lion, I’m going to guess they are finally freshening up the OS X look & feel and don’t want to spend time keeping their JVM in lockstep.
- dannyo152 16y agoThat seems a reasonable guess. Also, java has been showing up with a lot of vulnerabilities, so the beancounters may have wondered about the costs of doing qa on implementing those. We know that it is months before we get major new versions of java or some of the security fixes. Also java 7 is on the horizon and the dance would start over again. There's an opportunity here that Apple should encourage. I write in-house apps in java on the Mac for deployment for my Windows colleagues. They are not going to stop using Windows. Java has real good libraries for rdbms access. I guess the options are java develop in a vm hosting Linux or hello -ugh- mono. But I hope someone gives us a good java that runs natively.
- jason_slack 16y agoJobs did say at D8 that Apple chooses technologies that are in their Springs and not their Falls. Java has had far to many Falls.... Seriously, Apple does not need Java and I think the market for Java apps has become few and far....
- rodh257 16y agoI didn't realize Apple did this (not a Mac user personally). Didn't Microsoft get sued for providing their own Java runtime years ago? What is the difference here? (just out of interest) Obviously Sun/Oracle have been fine with it, so is it different to what Microsoft did?
- prodigal_erik 16y agoWhat Microsoft shipped was not a conforming JVM. It couldn't interoperate with servers using the native Java RPC protocol (RMI), it couldn't use the same native code (JNI) libraries that any JVM would, and it couldn't verify signed packages (JAR). It also added nonstandard methods to standard classes, and any code which called them without reflection wouldn't even load on a JVM.
- frankus 16y agoIt's probably just wishful thinking, but here's hoping they're working on bringing some kind of newer managed environment to OS X.
- phishphood 16y agoI am numb with anger right now. I sell java based consumer app and good 50% of my sales are from macos. To be honest java prohibition in the appstore wasn't surprising, I had to sign new dev agreement in august that explicitly prohibited java based apps, but they let my app in anyway. What I find so utterly surprising is that they are completely killing it on the os level. html5 here I come.
- code_duck 16y agoSo, Apple pretty much is out to eliminate anything that isn't Apple.
- mcritz 16y agoAren’t the CEOs of Apple & Oracle bestest friends in the whole world? Will it be long before Oracle/Sun picks up the slack on this?
- nikster 16y agoCALM DOWN EVERYONE Here's what Steve Jobs said in an email to a Java developer: "Sun (now Oracle) supplies Java for all other platforms. They have their own release schedules, which are almost always different than ours, so the Java we ship is always a version behind. This may not be the best way to do it." To me, the sheer number of people using Java on the Mac in one way or another guarantee that it's not going anywhere. Apple isn't going to develop it anymore, but that may be a good thing. We'll see. If Java apps can't be in the app store it would be a bummer. I don't see where it says that though - the app store rules say that you can't depend on deprecated tech. But it doesn't prevent you from shipping your Java based app complete with a Java VM - like you'd do on Windows.