Java on OS X is a first class citizen. You can integrate your app so well
that users probably won't even know they're using a Java application.
You can package your apps so they have one of those lovely 128x128 icons.
Apps can be launched with a double-click, and can even be bound to particular
file types so that your app gets launched when the documents are
double-clicked. Swing apps also get the luscious Aqua user interface for
free, and with a couple of lines of code you can also tell the runtime to let
your app use the system menu bar, and even use the hardware acceleration,
which you won't find on any other platform.
Let's look at how apps are packaged on OS X.
The Extremely Portable Approach
First, the easiest way to package a Java application for OS X is as a JAR
file. As long as your JAR file includes the standard Main-Class attribute
(and is otherwise proper... (more)
Java development on OS X is similar to Java development on any platform,
particularly any Unix platform. The differences are in how your code
integrates with the platform. Java lacks a cohesive platform integration
strategy, so running a Java application usually doesn't have the same feel as
running a native one.
In contrast, Java on OS X is a first-class citizen. You can integrate your
app so well that users probably won't even know they're using a Java
application. You can package your app so it has one of those lovely 128 x 128
icons and can be launched with a double-click; i... (more)