Cocoa (API)

related topics
{system, computer, user}
{math, number, function}
{company, market, business}
{language, word, form}
{theory, work, human}
{woman, child, man}

Cocoa is one of Apple Inc.'s native object-oriented application programming interfaces (APIs) for the Mac OS X operating system.

Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder, using the Objective-C language. However, the Cocoa programming environment can be accessed using other tools, such as Clozure CL, LispWorks, Object Pascal, Python, Perl, Ruby, and AppleScript with the aid of bridging mechanisms such as PasCocoa, PyObjC, CamelBones and RubyCocoa. An implementation of the Ruby language, called MacRuby, which does away with the requirement for a bridging mechanism, is under development by Apple, while Nu is a Lisp-like language which can be used with Cocoa without a bridge. It is also possible to write Objective-C Cocoa programs in a simple text editor and build it manually with GCC or clang from the command line or from a makefile.

For end-users, Cocoa applications are considered to be those written using the Cocoa programming environment. Such applications usually have a distinctive feel, since the Cocoa programming environment automates many aspects of an application to comply with Apple's human interface guidelines.


Cocoa history

Cocoa is the continuation of several frameworks (primarily the App Kit and Foundation Kit) from the NeXTSTEP and OpenStep programming environments developed by NeXT in the 1980s and 1990s. Apple acquired NeXT in December 1996, and subsequently went to work on the Rhapsody operating system that was supposed to be the direct successor of OpenStep. It was to have had an emulation base for Mac OS applications, called Blue Box. The OpenStep base of libraries and binary support was termed Yellow Box. Rhapsody evolved into Mac OS X, and the Yellow Box became Cocoa. As a result, Cocoa classes begin with the acronym "NS" (standing either for the NeXT-Sun creation of OpenStep, or for the original proprietary term for the OpenStep framework, NeXTSTEP): NSString, NSArray, etc. [1]

Full article ▸

related documents
Visual Basic for Applications
Enhanced Interior Gateway Routing Protocol
Memory leak
Computer program
Very long instruction word
GRASS (programming language)
Classless Inter-Domain Routing
Active Directory
Scalable Vector Graphics
Error detection and correction
Command-line interface
Thread (computer science)
Vector processor
Wikipedia:Free On-line Dictionary of Computing/C - D
Master boot record
Control theory
Race condition
Filename extension