Cocoa is Apple's collection of object-orientated frameworks, APIs, and runtimes which make up the development layer of Mac OS X. 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.
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.
- Foundation Kit
- The Foundation Kit, or Foundation, is a generic framework providing basic classes and functions which are necessary for all software, but are not part of the user interface. Foundation was originally part of OpenStep, and in Mac OS X it is built on top of on the low-level Core Foundation API. Many Foundation data types are "toll-free bridged", and thus interchangeable, with their Core Foundation equivalents.
- Application Kit
- The Application Kit, or AppKit, contains classes and functions which relate to GUI interaction. AppKit is built on top of Foundation.
- Cocoa Overview on Apple Developer Connection