internet.com Developer's Forum
Magazines

webreference.com

Java Boutique

Search Engine Watch

PC Webopedia

The Web Developer's Virtual Library

Java Jolt
by David Wood

Sun's Latest Swing and Apple's Pending Rhapsody

This week we're going to be looking at the newest release of Swing, as well as the upcoming release of Apple's Rhapsody.

Why Swing? Because each new release of the proposed Java 1.2 interface specification brings new revelations about the organization and composition of the AWT that we'll all have to live with very soon, and Sun has just released (pre-released?) version 0.4 of the Swing set.

The Swing documentation itself is plastered with warnings about massive changes to the Swing naming scheme since the last pre-release--a healthy indication that Sun is continuing to work the kinks out of the specification as much as it feels it needs to. The list of actual functional improvements is mercifully short. There are a few more recognizable bits of user interface esoterica thrown in, but by and large it consists of, as Sun puts it, "Many tweaks, bug fixes, and enhancements."

That's just fine with us. When choosing between investments in robustness or investments in marketable features, companies inevitably choose the latter too often, even though it's reliability that keeps us up late at night. Speaking of marketability, one of the particularly amusing documents released with the new version of Swing was related to Swing Packaging. It explains a bit more of the thinking behind the morass that is the Swing naming scheme, as well as a bit of the larger Java naming hierarchy. This is a very good read if you've been wondering how Sun plans to integrate this "separate" set of AWT classes with the existing AWT.

And why turn our attention to the coming of Apple's newest MacOS? Because it's a very interesting historical event--the first (major) operating system to be developed in the full light of Java.

If you've heard any of the buzz surrounding Apple's ridiculously delayed attempt at revitalizing their operating system software, you probably know it plans on including a built-in Java virtual machine. This is an encouraging practice, and one that's being adopted by Microsoft and Be as well. But most likely you haven't heard the extent to which Java is interwoven into the fabric of the operating system, practically or conceptually.

The relationship--in fact, the resemblance--between Java and Rhapsody's Yellow Box is absolutely striking. Although Rhapsody isn't the first attempt at an object-oriented operating system by any means, if it inherits any significant part of Apple's current installed base of millions of users, it will be the first to be widely used.

While it's base language (Objective C) is only a distant cousin to Java at best, there are a number of quickly noticeable parallels between the two systems. From the fact that Rhapsody is another Model-View-Controller adoptee to the organization of the Rhapsody API itself, the two systems definitely appear to have come from similar organizational schools.

This is very interesting considering the fact that the engineers working on Rhapsody had a remarkable amount of freedom to choose what kind of system they wanted to make (relative to other personal computer operating system design decisions in years past). It's striking that they should end up making choices that converged with those of the Java design team.

Is it because both systems are adopting something close to ideal for treatment of object oriented environments? Is Rhapsody evolving to resemble Java because of its success? Or has Java simply capitalized on good ideas that already existed in Rhapsody back when it was called NextStep?

It's the mystery of the month. You decide.

Past installments of Java Jolt


http://www.internet.com/
Web Developer® Home Over a dozen topics in detail Live Chat Downloads Book and Product Reviews Threaded Discussions How-To/Articles/Links Developer Daily News Subscribe Search Corporate Information Advertise Events Publications internet.com Home