11 ms·
Apple and the future of Java
- stcredzero 16y agoI looked at javax.sound yesterday and estimated it would take me 4-6 weeks, full-time, to do a production-quailty port using Core Audio. I’ll bid the project out at $20,000. How about Kickstarter? Desktop Java is a ruinously expensive legacy that they need to do something about. All the angry screeds against Steve Jobs won’t change the fact that this is the “ball and chain” that’s pulling Java below the waves. I think attempting to do cross-platform UIs held Smalltalk back as well. You either have Least Common Denominator native UIs that stink, or emulated UIs that don't look native. "Cross Platform" failed for the general public end-user. Web Apps took up their niche.
- sudont 16y agoL.C.D. UIs are a sign of a bad designer. Remember the Backblaze article on the frontpage from last week? http://blog.backblaze.com/2008/12/15/10-rules-for-how-to-write-cross-platform-code/ http://blog.backblaze.com/2008/12/15/10-rules-for-how-to-wri... While the underlying logic should be the same, each UI should be leveraged towards whatever OS is running the app. It requires a bit of across-the-aisle thinking to create a decent UI for the other OS, but it's do-able. UI design should be more like a cross-channel ad campaign (print, web and TV) than porting.
- aphexairlines 16y agoEclipse is cross-platform, comes with a disgusting component system (OSGi), pillages all your RAM, and yet is still arguably the most popular IDE these days.
- _delirium 16y agoFirefox is quite popular too, and uses its own custom cross-platform UI toolkit.
- stcredzero 16y agoI've heard of in-house apps being done with XUL. I'm not aware of any used by the general public, other than Firefox. To be a successful cross-platform development environment, there would have to be lots of these. To my knowledge, only web apps are that widespread and used by the general public, not primarily for in-house apps.
- ZeroGravitas 16y agoDoes Songbird count? I think ActiveState's IDE's are XUL too, but it seesm devs are generally more willing to accept cross-platform apps.
- CrazedGeek 16y agoMiro and the eMusic Downloader should count, too.
- ptomato 16y agohttp://www.activestate.com/komodo-ide http://www.activestate.com/komodo-ide
- gamble 16y agoFirefox has never looked or felt like a native application on the Mac. It didn't even have native form controls or pixel-perfect scrolling ala Safari until fairly recently.
- mkramlich 16y ago... and is slow, pillages your RAM, and for many folks is a de facto web IDE. :) Think Firebug, etc.
- stcredzero 16y agoHow many general-public end-user apps are built with SWT?
- jsankey 16y agoThere don't seem to be many. But I believe it has been used quite extensively in internally-developed applications, never intended for the mass market. The same goes for Swing as well. So although end consumers might not see them, it will certainly take a long time for SWT or Swing to die. These are the same class of applications that are keeping IE 6 alive, after all. Does this matter to Apple? I doubt it's significant, as most of these applications are probably running on Windows desktops already. Probably more significant is the legion of Java developers that have been vocal proponents of Macs over recent years. The numbers of such developers might not be so great in an absolute sense, but the amount of noise they create is disproportionate. And, more importantly, they are more motivated to build interesting stuff for the platform they use.
- mweatherill 16y agoLotus Notes and Lotus Symphony aren't consumer apps but they both have a pretty big user base beyond typical Eclipse users. Azureus is the first consumer app that comes to mind.
- aphexairlines 16y agoAzureus (Vuze) is one of the most popular bittorrent clients.
- aphexairlines 16y agoJDownloader bundles the SWT libraries, but I don't know how much of its UI is written in SWT.
- bad_user 16y agoApple open-sourcing their work to be included in OpenJDK would also require copyright-assignment to Oracle. Not going to happen. Also, get the crappy APIs out of Java SE, like AWT and Swing, then the Java SE "standard" and the TCK needs updating, and then you've got a subset suitable for mobile phones, for which Oracle cannot collect revenue anymore. Not going to happen.
- NathanKP 16y agoI agree with the main premise of the article: that Steve Jobs isn't the one dealing a blow to Java, he is just getting rid of the white elephant that is already on its way down. Seriously Apple does not have that much of a market share in the desktop and laptop field, and while it is a growing share, it is far from the market majority. Therefore, to think that Jobs is dealing a major blow to Java by not factory installing Java on a machine which is only going to sell to a small percentage of the market doesn't make sense. If Java is losing popularity as a desktop app programming language it won't be because of Apple.
- glhaynes 16y agoI agree that it's not the primary cause of Java's decline — as if it had far to go aside from theoretically — as a desktop system. Apple's moves seem these days to signal or drive the industry direction, though, so if Apple's deprecation isn't a blow, it's at least a bellwether.
- NathanKP 16y agobellwether noun harbinger, herald, indicator, predictor Thanks for teaching me a new word.
- ghshephard 16y agoI highly recommend: http://www.amazon.com/Bellwether-Connie-Willis/dp/0553562967 http://www.amazon.com/Bellwether-Connie-Willis/dp/0553562967 It's a fast, one day read, and it ages well - I re-read it every couple years.
- dabeeeenster 16y agoAre Apple going to ship any sort of Java runtime with 10.7? I (and some of my team) use Intellij on OSX. Are we not going to be able to upgrade to 10.7?
- alexyoung 16y agoThey haven't said yet, but: "Developers should not rely on the Apple-supplied Java runtime being present in future versions of Mac OS X." http://developer.apple.com/library/mac/#releasenotes/Java/JavaSnowLeopardUpdate3LeopardUpdate8RN/NewandNoteworthy/NewandNoteworthy.html http://developer.apple.com/library/mac/#releasenotes/Java/Ja...
- cosmicray 16y agoWhile Apple hasn't been specific, I'm taking that to mean "no pre-installed JVM beginning with 10.7". Apple only mentioned 10.7 this past week (with very few specifics). Wikipedia suggests that the release date for 10.7 will be 'Summer 2011'. The problem may be real, but there is time to find solutions.
- avar 16y agoYou were able to install Intellij on top of OSX. What's stopping you from installing Java too?
- babblefrog 16y agoWhere do you get this Java from to install on OSX? I just checked the Oracle Java site, and they only have it for Solaris, Linux, and Windows.
- danudey 16y agoThere is no official Oracle release for Mac OS X. Your options (right now) are Apple's official JDK (which comes preinstalled), or OpenJDK (http://openjdk.java.net/ http://openjdk.java.net/).
- frou_dh 16y agoI think the problems with [non-native] GUIs on the Mac are compounded by their developers likely not having as much passion for look & feel as Cocoa-heads to start with, regardless of the quality of the APIs. I was under the impression that the IntelliJ IDE was a diamond, then I saw a dude use it in a screencast and the design looked grim.
- allertonm 16y agoI wouldn't go so far as to say grim - but it definitely shows that even with the best of efforts, Swing is never going to cut it for non-developer applications. IntelliJ is about as good as Swing apps get on OSX. Gotta feel for the JetBrains guys, I have a feeling that a good chunk of their users are on Macs and it's not clear that they'll have a way forward. It does look to me like Eclipse will be a viable option in future. Which, as an IntelliJ fan using a Mac, doesn't make me super happy. That said, I think the original article was spot-on.
- sutro 16y agoThis could be a way forward for an open Swing toolkit on Mac: http://lists.apple.com/archives/java-dev/2010/Oct/msg00493.html http://lists.apple.com/archives/java-dev/2010/Oct/msg00493.h...
- strlen 16y agoIntelliJ does use JNA quite extensive, already, on the Mac. It wouldn't be a stretch to imagine more extensive use of JNA e.g., for custom widgets. JetBrains guys are very smart (I dislike Java as a language, but I continue to be impressed by IntelliJ) and I have no doubt they'd be able to switch a native layer if needed: they have all the motivation to (it's a commercial product).
- towndrunk 16y agoNice UI's can be done on the mac with swing. As you mention they require passion. Take a look at what this guy has built with Swing. http://code.google.com/p/macwidgets/ http://code.google.com/p/macwidgets/
- acqq 16y ago> The Java crowd will (...) have to make a choice: either use Windows or Linux for development, or get away from the IDEs (...) on the Mac. According to archgrove's post, Eclipse works on OpenJDK: http://news.ycombinator.com/item?id=1820288 http://news.ycombinator.com/item?id=1820288 So Java crowd can continue to develop on Mac in Eclipse even without Apple-maintained Java in OSX.
- m0nastic 16y agoI don't think Apple's decision is going to be a death-rattle to Java on OS X, but it provides an interesting perspective. If nothing else, it's provided the groundwork for my next software development project. The vast majority of tools my industry uses to perform a specific type of testing are Java-based, and more and more folks I run into are using Macs.
- Hoff 16y agoApple plays a long game, and they're not afraid to toss stuff under the bus. Now consider what these Apple engineers might now be working on, if not Oracle's Java and JVM pieces. Some language past Java? A replacement for Objective C? Both?
- Perceval 16y agoDoubtful that Objective C would be replaced. Still requires continual improvements and updates. The engineers might now work on MacRuby, which is rumored to be the up-and-coming second language on OS X real soon now.
- tjogin 16y agoI think so too. MacRuby is perfect for Apple, as they control its implementation, and the syntax is far more approachable than Objective-C is. Also, no performance penalty when compiled, unless I'm mistaking. Thinking on it, I'd only be slightly surprised (and extremely delighted) if native/official (as opposed to experimental) MacRuby support for Xcode and the new Mac App Store was announced at the next WWDC.
- __david__ 16y agoI think he makes a good case for himself in the article, though I wonder how much effort it really costs to maintain an already written port. However, he is quite mistaken about the possible side effects of Apple licensing the code under the GPL: > The company would want nothing less than an absolutely forensic code analysis to ensure there are no loopholes, stray imports or links, or anything else that a creative FSF lawyer could use to claim that Mac OS X links against the GPL’ed OpenJDK and must therefore itself be GPL’ed. That is not how the GPL works. The GPL doesn't apply to the copyright holder (owner) of the code. The GPL applies to all the people who get the code from the owner. The owner can do what every they want.
- deleted 16y ago[deleted]
- pointclick 16y agoif you do a derivative work from a gpl'ed piece, you are forced to gpl it. so if the mac osx links against gpl'ed code, they are doing derivative work, and therefore must gpl it.
- jshen 16y agoI'm confused by everyone focusing on Java. "Java's on the decline", "I don't mind if Java goes away", etc, etc. This is really about the JVM and the JVM is on the rise. I have no idea what impact this decision will have, but if it's negative if affects a lot more than Java.
- stefanve 16y agoam I the only one who thinks JDK 7 (for OSX) will be released by Oracle when Lion is launched? at the end of last year they released JavaME 3 for osx. so it wouldn't be that far off