The Ultimate Business Machine - Archives
List of Categories : Commentary * Database * Singapore * Technology * Travel *
Sun 11 Jul 2004
Java on OS X
Category : Technology/javaOSX.txt
Just a word about WWDC. It seems like we're all on our own in the way we're using Java on OS X. We're building Cocoa applications using Java.
Attend a Cocoa talk, and it's all about Objective-C. Attend a Java talk, it's all about J2EE (which we are using) and things like Swing (or call Cocoa using, horrors, JNI).
If you're doing Java, there's no CoreData API for you (yet). Neither WebKit. Nor Cocoa Bindings.
So one can't help feeling that Java programmers are second-class citizens in the Cocoa world.
Then why do I feel, even more, that we're on the right track?
Well, if you're on Objective-C, even with Cocoa Bindings and CoreData, you're still only going to be allowed to call a SQL database locally, on the same machine as the application. Whereas, using JDBC, we can already call our accounting database from half-way around the world.
And you've got to wait for Tiger to come out. Because, then, OS X would have SQLite bundled in. But we've already waited four years for MySQL to get almost all the critical functionality of Oracle. I'd hate to have to wait another four years for SQLite to catch up. Apple may have valid reasons for their choice but SQLite doesn't interest me at all.
And I've heard people asking for better XML and WebServices support in Objective-C. Well, we've already got that, right now, in Java. And try writing a web server application in Objective-C. Or modelling the business workflows and business rules.
I wish Java is as elegant as Objective-C. But we've got to get something done now.
We're going to continue walking to the beat of our own drum. Probably the best way of maintaining our sanity. Luca proves that you can write a complete, full featured Cocoa application using Java. And you can do a bit more and make a web-server based application out of it. Or a cross-platform Swing application. And that's probably all we need now.