Cocoa (API)

Cocoa (API)

Cocoa is Apple's native object-oriented application programming interface (API) for the Mac OS X operating system. The related API Cocoa Touch includes gesture recognition, animation, and a different user interface library, and is for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and the iPad.

Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by Cocoa.h header file, as well as the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime itself.

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, RubyCocoa and D/Objective-C Bridge. 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.

Read more about Cocoa (API):  Cocoa History, Memory Management, Main Frameworks, Model-view-controller, Late Binding, Rich Objects, Implementations and Bindings