Filed under: Software
Frozen Java
This could be bad news for all you OS X Java developers out there (I'm sure there must be at least 2 out there). According to a note posted on the Cocoa-Java Integration Guide, which by the way is a great summer read, new Cocoa features will not be available to Java in OS X versions after 10.4.The text of the full announcement reads:
Important: Features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface. Therefore, you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features.
Apple wants developers to write in Objective-C, most likely, so that user interfaces will be consistent across the board and so that Apple can control the programming language a little more tightly.
This doesn't mean that the newest version of Java won't be supported under OS X, it just means that it will be a little harder to write Java apps on the Mac.
[via SlashDot]


![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 1)
Martin said 6:32AM on 7-12-2005
I think it should be rephrased to "...a little bit harder to write Java apps with a real Mac UI." It will still be possible to write "cross platform" java apps as before and by using Eclipse RCP they probably behave like standard mac apps. The remaining question: Is Eclipse/RCP affected by Apples decision?
Reply
Kyle Rames said 7:30AM on 7-12-2005
I do not think this is a big deal. From the beginning developers have favored Swing (Java's built in GUI toolkit) to the Java-cocoa bridge because it is less buggy and has the benefit of being cross platform. The default look and feel for Java on the mac platform looks EXACTLY like a mac app.
Reply
JC said 8:05AM on 7-12-2005
I agree with the previous two comments. Java integration and development under Apple has been a huge bonus for OS X. As a Java developer myself, I love everything that I can do under OS X without having to work under windows. myEclipse, WSAD, Blaze, Tomcat, Spring, Swing, etc... all the toolsets that I use frequently all run just fine under OS X.
I just don't think it will be as cut and dry as they said in the article. There may be "more" apps written in Obj-C but the java development will not stop from going forward. I am sure there will be many ports over the coming years.
Reply
Ian Abbott said 8:03AM on 7-12-2005
This isn't that big a deal and the original report is wrong. It won't make Java development harder. Cocoa-Java was rarely used, being a simple bridge for mainly passing data to and from the different environments; hardly anyone used it for anything more complex. I had to use it to pass JDBC data across to Cocoa before a native ObjC database driver framework was published by Sybase and it was terribly slow and very buggy. I won't be mourning the loss of the bridge at all. In fact the bridge was deprecated back in Panther 10.3 - they're just making sure it's dead. It only existed to help NeXT/OpenStep developers port code in the first place.
Just to repeat, this does not effect mainstream Java development on OS X whatsoever - most Java shouldn't be using hardware/OS specific calls anyway and this just enforces that separation. As for look and feel it'll have no effect - all Java Swing apps automatically use a Mac OS X look and feel anyway.
I can't believe the number of blogs out there that have reported this erroneously or made the issue bigger than it really is.
Hopefully we can see an Obj-C EOF framework returning to WebObjects soon - full integration with CoreData would be lovely.
Reply
Daniel Rasmussen said 10:50PM on 7-14-2005
I'm surprised that this wouldn't be a big issue. All my programming (aside from academically) is for Mac, and sometimes I will choose almost randomly between ObjC(++) or Java for small Cocoa apps. It always seemed cool to me that I could do that and that Apple was directly supporting it. Seriously, it's really great that you can choose to write Cocoa without those silly brackets.
Without Apple support, I imagine eventually someone else is going to have to create their own Java-Cocoa bridge unless they can figure out how to hack 10.5 and on ObjC features to the older bridge. I can't believe there isn't enough of a following to support this if languages like Python, Ruby, and even C# have third-party bridges to Cocoa.
Seems to me that a third party bridge is going to be less reliable and feature-ful than the Apple one and will eventually anger a few developers, and at the very least disappoint people who like to play with it.
Reply