Cocoa is Apple's collection of object-orientated frameworks, APIs, and runtimes which make up the development layer of Mac OS X.[1] The Cocoa frameworks are written in the Objective-C programming language.
Most of Mac OS X itself is developed using Cocoa, and Apple encourages developers to use Cocoa for the development of all applications for OS X.
Cocoa is based on several frameworks from the NeXTSTEP and OpenStep environments, developed by NeXT prior to its acquisition by Apple. For this reason Cocoa classes have the prefix NS
, for NeXTSTEP.
Classes in Cocoa are divided into groups called frameworks. As well as a compiled binary containing the framework's methods, a Cocoa framework also contains header files.
The main frameworks in Cocoa are the Foundation Kit and the Application Kit.