The Mac OS X Java installation includes several additional APIs and services besides the default JDK installations available from Sun for Unix and Windows. In theory, you could build applications for the Mac OS X Java platform that won’t run on other platforms. Purists may argue that Apple’s JVM is therefore no different from the infamous Microsoft JVM and its incompatibilities. It is very different, however.
Apple hasn’t removed anything from their JVM implementation. All the expected services, including the politically contentious RMI, are available on the Mac OS X Java platform. If you build your application against normal J2SE APIs, you will have no problem porting your applications to other platforms. For more information on cross-platform compatibility, check out Chapter 9.
However, Apple provides many features in addition to the core Java APIs. Spelling, integration with QuickTime, and the Apple look and feel, for example, are specific to the Macintosh, and you will have trouble porting applications that use them to another platform unless you’re willing to change some of your application’s code. However, this book will help you recognize what is Mac-specific, and you’ll soon avoid these APIs or adjust them for use on other platforms when cross-platform compatibility is a concern.
Later chapters cover many additional services, such as the Java Speech and Spelling Frameworks and application bundling. For now, though, here’s a summary of what the ...