Encyclopedia > Cocoa programming

  Article Content

Cocoa (software)

Redirected from Cocoa programming

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

... Cyclic photophosphorylation 2.2 Noncyclic photophosphorylation 3 The Calvin cycle The production of oxygen It is interesting to note that the oxygen ...

This page was created in 36.5 ms