Several options are available for delivering your Java-based, client-side GUI application on Mac OS X. Table 8-2 provides a chart comparing these various delivery mechanisms.
Table 8-2. Packaging options for GUI applications
Double-clickable JAR
Mac OS X bundled application
Applet
Web Start
Packaging requirements
Entry in JAR manifest
Specific directory and packaging requirements
HTML file
HTML file and JNLP file
Development complexity
Minimal (standard Java development)
Additional Mac OS X configuration
Use Applet Runner
Significant relaunching within Web Start
Portability
Closest to "pure" Java
Doesn't force incompatibility ; unfamiliar to non-Mac OS X users
Extensive browser testing required
Closest to "pure" Java with network connectivity
Functionality
Full
Full
Limited by Sandbox, browser JVM
Limited by digital signature
Sandbox
None
None
Browser
Web Start
Mac OS X user experience
Varies per testing on Mac OS X
Preferred
Varies per testing on Mac OS X
Generally preferred over applets for network-delivered applications