Encyclopedia > Cocoa (software)

  Article Content

Cocoa (software)

Cocoa is Apple Computer's implementation of NeXT's OpenStep object-oriented API and widget toolkit. It is one of three APIs available under the Mac OS X operating system, the others being Carbon and Classic.

The name is also sometimes used to describe the development environment as well, consisting primarily of Project Builder and Interface Builder. This is not accurate, as other environments such as CodeWarrior[?] and a few other compilers also support development for the API. For consumers the term refers to applications written with the interface and features inherent to Cocoa applications. This usually means they are written mostly in Cocoa, but there are exceptions since Cocoa can be combined with other types of development.

Cocoa consists of a series of Objective-C libraries called frameworks. The frameworks comprise a family of objects descending from a root NSObject object that defines all the common methods. For organizational purposes they are split into two broad categories, basic data objects in Foundation, and GUI and most application related classes in AppKit. Most applications combine the two.

(The "NS" prefix, used for all framework objects, reveals Cocoa's OpenStep heritage, as does the Interface Builder file extension, .nib, which stands for NeXT Interface Builder.)

While the framework is, in general terms, still one of the most powerful available, several parts are showing their age. One is the lack of an automatic garbage collection mechanism. While the provided reference counting method works well and is easy to implement, it still requires programmer work that could easily be avoided altogether. Another issue is that Cocoa does not include a document structuring system, meaning that documents created by Cocoa applications tend to use application-specific data formats that cannot easily be exchanged with other applications. This could be corrected with the introduction (and promotion) of the Document Object Model.

Cocoa is also accessible to Java through a "bridging" mechanism of somewhat dubious quality. At one time it appeared that Apple was interested in promoting Cocoa primarily under Java, but this has since "cooled off".

See also: Carbon (Mac OS X), Classic (Mac OS X), GNUstep, Widget toolkit

External Links



All Wikipedia text is available under the terms of the GNU Free Documentation License

 
  Search Encyclopedia

Search over one million articles, find something about almost anything!
 
 
  
  Featured Article
Kings Park, New York

... and the average family size is 3.32. In the town the population is spread out with 25.2% under the age of 18, 5.7% from 18 to 24, 31.9% from 25 to 44, 23.3% from 45 to 64, ...

 
 
 
This page was created in 49.1 ms