This was a surprisingly difficult book to write. It was difficult not because of the topic's technical complexity?after all, I've been working with Java™ since before the release of JDK 1.0 and developing on the Mac for over a decade. No, the hard part was deciding what should actually go into a book called Mac OS X for Java Geeks.

The unknown element of this book is the skill set possessed by the reader. If you're an expert on Swing looking for tips on how to build a Java application, you won't want to slog through pages of duplicated content explaining how to build such an application. The same goes for readers interested in JSP™, EJB™, SQL, and everything else related to the Java platform.

In the end, I relied on two main guides. First, I leaned on conversations with other developers (particularly developers who were unfamiliar with Mac OS X and interested in switching platforms). Second, much time was spent with the broad array of excellent existing Java development texts. If you've never developed an application in Swing, this text won't teach you everything you need to know, but it will teach you how to transfer that application to Mac OS X, package it, and generally make it behave in a first-class manner while maintaining cross-platform compatibility. If you really have never built an application in Swing, this book provides an annotated working example.

If you're just beginning to develop applications in Java on the Mac OS X platform, you'll find an excellent survey of Java development by installing and working your way through the examples in this text, following the suggestions for further reading when appropriate. Fortunately, O'Reilly provides an excellent library from which to choose.

This book, then, is meant to supplement the Java programmer's library. If you're a Java developer and want to see what Mac OS X can do, or are just getting into Java and want to ensure that Mac OS X is a viable development platform, I think you'll find your answers in this work. Enjoy!