Newsletter sign-up
View all newsletters

Sign up for our technology specific newsletters.

Enterprise Java
Email Address:

Macworld report: Big news for Macintosh enthusiasts

Mac OS X will move Java on the Mac from also-ran to serious contender

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone

Page 2 of 4

The overview

Steve Naroff, Apple's senior director of Java support tools, delivered the overview. At last year's session, Naroff first announced Apple's plans for supporting Java 2 Standard Edition on Mac OS X while simultaneously enhancing support for Java 1.1.8 on the classic Mac platform. This year he reiterated Apple's support for Sun's standard APIs. Referring to the huge number of developers working in the Java language, he noted that even if you discount 90 percent of the code as not being top quality, Apple's Java support is designed "to take advantage of that non-sh** that's out there."

According to Naroff, Apple believes that Java is both a great platform and a great language, which is why Apple allows Java to access Cocoa -- the framework for native object-oriented development on Mac OS X -- at the same time that Mac OS X supports Java as a programming language for the Java 2 platform. Naroff explained: "If your design point is to write the world's best Aqua Mac OS X application, then Cocoa is the way Apple wants you to do that and Java is a great language for accessing it. If, however, your high order bit is to have a cross-platform application ... then Swing is what you might write to." He noted that Borland's JBuilder serves as a good example of a Java-written application whose byte code runs identically on all of the supported platforms.

Even Swing-based applications resemble Aqua when running on Mac OS X. According to Naroff, "Apple transforms a lot of the Swing widgets into Aqua widgets on the fly." He cautioned that on-the-fly transformation doesn't deliver 100 percent of the Aqua look and feel, but it gives developers a leg up, allowing them to tweak their applications to get the remainder.

Apple is looking at Java code sharing to reduce footprint and improve performance. As an example, Naroff suggested that two or more large Java applications (say the office suite from Think Free and JBuilder) could share the same Swing. However, while code sharing is common in the C world, he pointed out, "When you run multiple instances of a Java VM, the default is not to share code."

In past keynotes, Jobs has stressed Mac OS X support for OpenGL. In the sessions, Naroff, describing OpenGL support as an important optimization, added that, "We're going to integrate with OpenGL such that our Java can benefit from the hardware acceleration." As such, while it won't be the default in the March release, OpenGL support will require just a simple flip of the switch.

In other news, Apple is working with Microsoft to improve the Java support in Internet Explorer for the Mac. Indeed, the engineers have addressed many of the bugs evident when using IE on Mac OS 9. Naroff said that running more than one applet works on Mac OS X, with the remaining issues centering on aesthetics. He expects these will be cleared up by the March 24 ship date.

Naroff wrapped up by saying, "Out of the gate, Mac OS X will have four compelling environments" for Java development. If developers live in a command line environment, they can use vi or emacs and the Java command line tools for development. For those looking for a multilingual environment, Apple's Project Builder supports C, C++, and Java. Further, there's the traditional Mac IDE, Metrowerks's CodeWarrior. Finally, if developers simply want to do Java development, they can turn to Borland's JBuilder. All of which points to a great many more choices than Java developers have ever had for developing on the Mac.

  • Digg
  • Reddit
  • SlashDot
  • Stumble
  • del.icio.us
  • Technorati
  • dzone
Comment
Login
Forgot your account info?
Add comment
Anonymous comments subject to approval. Register here for member benefits.
Have a JavaWorld account? Log in here. Register now for a free account.
Resources