Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Monkaaay

macrumors 6502
Original poster
Jun 19, 2006
258
0
Richmond, VA
I want to write desktop applications for OS X. I've got a background in Java and C#. I'm trying to understand Apple's long term view of Java on the Mac as a first class citizen. It's obvious that they're more into Objective-C, but there are still great applications being written in Java for OS X. How does everyone feel about this subject?
 

72930

Retired
May 16, 2006
9,060
4
I'm no programmer, but have found Java apps to be nowhere near as comfortable as 'native' ones...
 

Monkaaay

macrumors 6502
Original poster
Jun 19, 2006
258
0
Richmond, VA
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.

Yuck.
 
I wouldn't class Java as a first class citizen on the Mac; Java is a first class citizen for Sun.

Apple simply do not and will not offer the same driving force as Sun (or the open source community). IIRC, Java latest versions seem tied to latest OS X versions (hence no public Java 6 on 10.4 or Java 5 on 10.3). The best development tools are the same as on Windows, Linux and UNIX i.e. Eclipse or NetBeans, not Apple ones. Look what Apple actually bundle and provide in a host of other languages, such as Python or PHP. Present, yes, but well out of date. The odd article here and there on the developer network and again, often out of date.

IMHO, Apple's heart is, and always will be, with their own native toolkit(s) and they will do as much as they need, but no more, to attract developers using other platforms (the same can be said of MS but the size of the Windows platform means the impetus again comes from 3rd parties who will often not make the same effort for the Mac, *cough* *cough* IBM). Stuff that Apple no longer deem profitable will be deprecated and may be turned over to the community.

I suggest you subscribe or browse the Apple-Java-Dev mailing list - my thoughts were captured quite nicely by this recent post

The smart money is that 1.6 is waiting on Leopard - i.e. less than one month if you're brave enough to handle the knuckle-whitening terror of any 10.x.0 release. Who knows, perhaps Leopard will be different...?

Of course, officially this is all speculation. After all, part of the fun of being an Apple developer is being treated worse than any other community we know of and still enjoying it. Like being the willing love-slave of a beautiful, seductive yet cruelly sadistic goddess.

It's the Apple condition.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
I think Apple does a good job with Java but they certainly don't push too hard. They've certainly used it as a marketing tool.

When a new version is available from Sun, they drag their feet until a new version of Mac OS X is available. Java 6 (Mustang) has been available from Sun on other platforms for months and Apple has been working on it much longer than that and it runs on Tiger, but you can almost be certain that the final release won't be available on Tiger.

They also made certain that releases 1.4.x and up weren't available through browsers once Safari was available.

The only Java-specific application that's available from Apple, I believe, is Web Objects and that used to be Objective-C only.


The Cocoa-Java bridge should have died long before that; perhaps, before it was written.
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
If you want to write native Cocoa apps but don't want to use Obj-C for whatever reason (you are mad not too, but whatever) then wait for Leopard. It includes fully supported native bridges from Ruby and Python.
 

bousozoku

Moderator emeritus
Jun 25, 2002
16,120
2,397
Lard
Then I wish effort was put into cleaning up NeoOffice's code more than reaching beta stage of an Aquafied OpenOffice...

Is NeoOffice so bad? I don't think it's any worse than the original OpenOffice and it looks much better.

Cyberduck is one example of a Java-based application done right for Mac OS X. Several other applications are nice enough but don't have Mac OS X-specific tweaks, such as the Cancel button on the left and the Okay button on the right. I've mostly been impressed by multi-platform applications that run well on PowerPC Mac OS X.
 

robbieduncan

Moderator emeritus
Jul 24, 2002
25,611
893
Harrogate
WOO-HOO!!

I thought someone would be excited. It's mentioned on this page so is public knowledge. I read somewhere else that this has been implemented in a pretty open way so it should be easy to add more languages to the bridge in future. A Perl on is under development and others should follow.

Note that this does not mean that it would be easy (or even possible) for Apple to use this new bridge technology for Java. The reason these languages were chosen is, in part, their fit to Obj-C/Cocoa. They are highly dynamic languages which fit well. Java is not and does not.

p.s. I have fixed my post with the error noted in your quote, thanks :)

Edit to add: This is where I got a lot of the info from
 

Monkaaay

macrumors 6502
Original poster
Jun 19, 2006
258
0
Richmond, VA
Yep, that is exciting. I thumbed through my Programming in Objective-C book again last night. I think I'm going to go ahead and give it a try.
 

davidlt

macrumors member
May 22, 2007
56
0
Lithuania
If you want to write native Cocoa apps but don't want to use Obj-C for whatever reason (you are mad not too, but whatever) then wait for Leopard. It includes fully supported native bridges from Ruby and Python.

I am waiting for this for a long time... Give me Ruby!.. And Python is fine with me :)
 

kainjow

Moderator emeritus
Jun 15, 2000
7,958
7
The Cocoa bindings for Java are essentially dead, but plain ol' Java is still strong. If you're wanting to write a Mac-only application, it'd be much better long term to learn Cocoa/Objective-C and use that instead.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.