I agree that the Cocoa APIs are great & what they have on tap for
Leopard with Core Animation also looks interesting. However, writing
a Cocoa-Java app basically eliminates any ability to use it cross-
platform & the only benefit is the language it's written in.
Objective-C is pretty easy to learn if you've come from an OO
language like Java, although I will admit the syntax looks strange at
first, you quickly learn to realize how nice it is.
From Apple's perspective, they've had Cocoa-Java for years. Very
few apps were written in Cocoa-Java, since it locked you to Mac
only. At that point, you get better performance out of Objective-C.
I'd argue that many of the most compelling features of Cocoa in
recent years are the ones that are the most hardware demanding, like
Core Image, Core Video, Core Audio, so trying to use those in a
bridge offers little benefit to your users. The engineering time for
Apple to support a parallel Cocoa-Java bridge effort could better be
served improving Cocoa overall or improving support for Plain Old
Java. In fact, since Cocoa-Java support basically stopped, we've had
much faster releases of Java updates for the Mac, for which I'm very
appreciative.
On Aug 16, 2006, at 2:08 PM, Vince Marco wrote:
I fully understand that there has not been much Cocoa Java
development in the past. I too, have not been interested in
developing Java apps limited to OSX. However, Core Animation (all
the Core APIs) and Cocoa are compelling!! And with Mac hardware
now Intel-based, Apple becomes a viable workstation for enterprises.
I'm not saying every enterprise desktop needs to be OSX, and I'm
not saying that every app needs to be Cocoa Java. I am saying I'd
like OSX on the supported OS list for my customers, and I'd like to
be able to build web apps where appropriate, JFC/Swing apps where
appropriate, EclipseRCP apps where appropriate, and Cocoa/Java apps
where appropriate. It is simply what Apple must do in order to
become a provider in the enterprise market.
The Cocoa-Java bridge going away is not really related to Apple
moving Java forward on the platform. If I were to guess, the
philosophy would be:
Apps that run only on macs should be done in Objective-C, because
that is the best language for the platform, and certainly the most
popular language being used. There are not many people using Java
to make cocoa apps, because the main reason to use Java is cross-
platform, and using Apple specific functionality from Java just
doesn't make sense.
This is exactly the kind of chutzpah I believe Apple needs to show
to make OSX make sense for enterprises. How many Java apps do you
think are actually WORA? You don't see MS holding back with C#
because it is a Java knockoff. No, they're going to make .NET as
productive as possible and tell companies to depend on them. When
MS shuns Java, Apple should support it all out, even producing
tools which leverage OSX to the fullest. Surely you don't think
companies buy Windows computers because of the support for cross-
platform Java. ;-)
Besides, companies may have chosen Java because it can be cross-
platform, but they build Java apps because it's what their
developers know.
For people who are developing Java for cross-platform use, Apple
still wants to be the development environment of choice, so they
will work harder to move newer versions of Java onto the platform
sooner, but if you want cocoa API's, use Objective-C.
To me, this is a reasonable philosophy. To give users the
experience they want (and sells macs), the APIs have to expand and
improve. To have a team of people dedicated to moving cocoa APIs
to java is just not worth it to them.
I understand it to be reasonable to a Mac developer or consumer.
But I've never understood Apple's refusal to pursue the enterprise
desktop market. It isn't just going to fall into their lap, no
matter how cool OSX is. Even back at Taligent, IBM was never
worried about sharing technologies with Apple because they were
never a threat in their space.
It is a move that would be well worth their time. It would only
take few enterprise customers to pay for the effort.
Shawn, I hear you on the "make it happen" statement. It could be
done via open source, but that doesn't really fly for enterprises
either. In order for this to help pull OSX into enterprise, they
need Apple behind it with support. But if Apple chooses not to see
it, then it will have to be OSS.
Vince
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Java-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/java-dev/email@hidden