Mac OS X Unleashed

Mac OS X Unleashed

By John Ray and William C. Ray

Cocoa

Cocoa has been through several name changes during its life. Cocoa, for all intents and purposes, is OpenStep. Originally designed to be a highly portable API accessed through the Objective-C programming language, Cocoa's first Mac implementation was called Yellow Box and was included in Mac OS X Server. In addition to the Mac, Yellow Box could also run on several versions of Unix as well as Windows NT. To understand why this is possible, you must first understand the WebObjects project.

One of NeXT's crown jewels was the Web application development environment called WebObjects. Inextricably entwined with the OpenStep/Yellow Box implementation, NeXT pushed WebObjects to as many platforms as possible, including its own OpenStep BSD-based system, as well as Windows NT, HPUX, and Solaris. Apple's original plan was to use the Yellow Box implementation on NT to allow developers to create software that ran on both Mac OS X and on Windows. Unfortunately, this project seemed to stall and has apparently been dropped by Apple for the time being. It wouldn't be surprising to see this reincarnated at some time in the future. It was a promising cross-platform technology, but hardware speed, space limitations, and licensing of the PostScript engine made it impractical for all but commercial developers.

Even without the NT component, Cocoa offers a compelling development environment for Mac OS X. Cocoa is a highly object-oriented environment that is similar in some ways to Java, and considered by many to be vastly superior. Programmed primarily using the Objective-C language, Cocoa is finally starting to catch on with new developers. Compared to traditional programming methods, Cocoa offers advanced rapid design tools, real-time prototyping, and the ability for a single programmer to create full-scale applications in a fraction of the time of other approaches.

Unfortunately, the Cocoa learning curve remains relatively high and the Objective-C language can bewilder those who are skilled in C++. Apple has taken steps to eliminate this problem by including developer tools with each copy of OS X sold. (Previously, the NeXT developer tools cost thousands of dollars.)

Share ThisShare This

Informit Network