Page 3 of 4
Apple has also been Java-enabling its own technology. Apple engineers rewrote WebObjects 5 in Java, and they added QuickTime 5 API support to QuickTime for Java. In addition, Apple is wrapping some of Mac OS X's functionality in JavaBeans available to developers. For example, you can provide any Swing text component with the Cocoa spell checking capabilities with just a couple of lines of code. If you develop on an IDE, you can manipulate this bean as you would any other. Indeed, you can view and change its properties to configure it for your application. Apple has also wrapped Carbon's speech recognition and synthesizer capabilities in JavaBeans so you can add them to your applications. You can still write applications that "run anywhere" -- they just run better on a Mac.
The news isn't all good for Mac Java developers. If you need to access the latest J2SE beta releases, you'll either have to hang on to your Windows box or simply wait. Although Mac users have relatively quick access to final JDK and JVM releases, the Apple Java team just isn't big enough to deliver betas. While the JDK 1.4 beta has been available for a couple of months to Solaris and Windows users, Apple's only 1.4 announcement is that it will be finalized shortly after Sun delivers the official shipping release.
Apple engineers commonly cite the cooperation and support they receive from Sun. They speak of the collaboration with the Sun engineers across the street, as well as the Sun engineers on loan to the Apple Java team. With the commitment that Apple has made to Java, Sun owes Apple more. Even though Sun has to create the Windows implementation of Java, it could at least provide more engineers to help Apple in its porting efforts. It's like high school dating. You had no interest in that person who would do anything for you; meanwhile, you hopelessly pursued the popular one who could have cared less about you. It would be nice to see Sun putting more effort into helping with the Java implementation on the Mac.
Further, in public Apple will only commit to supporting the official J2SE stack. Apple developers, however, again and again ask for certain packages. Apple has announced that it will soon support Java Web Start, JSSE (Java Secure Socket Extension), and then look at Java 3D. Apple engineers note that since the other pieces fit well on top of it, they have focused hard on supporting the J2SE core and improving the performance. As for Java 2, Enterprise Edition (J2EE) support, enterprise applications can currently run on Mac OS X; Apple just won't promise you that they will. As the Mac OS X server story evolves, we may hear more about J2EE support.
Interface Builder is Apple's tool for visually providing the Aqua look and feel to Cocoa applications. Java developers consistently request that Apple provide Interface Builder support for building Java apps. At conferences Apple always responds that it has no plans to add such support. Indeed, the company recommends JBuilder 5 as the tool for visually designing Swing components.