What is Cocoa?

Cocoa is Apple's native object-oriented application programming interface (API) for their operating system macOS.

For iOS, tvOS, and watchOS, a similar API exists, named Cocoa Touch, which includes gesture recognition, animation, and a different set of graphical control elements. It is in applications for Apple devices such as iPhone, iPad, iPod Touch, Apple TV, and Apple Watch. Cocoa consists of the Foundation Kit, Application Kit, and Core Data frameworks, as included by the Cocoa.h header file, and the libraries and frameworks included by those, such as the C standard library and the Objective-C runtime.

Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode (formerly Project Builder) and Interface Builder, using the languages Objective-C or Swift. 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 bridge mechanisms such as PasCocoa, PyObjC, CamelBones, RubyCocoa, and a D/Objective-C Bridge. A Ruby language implementation named MacRuby, which removes the need for a bridge mechanism, was formerly developed by Apple, while Nu is a Lisp-like language that can be used with Cocoa with no bridge. It is also possible to write Objective-C Cocoa programs in a simple text editor and build it manually with GNU Compiler Collection (GCC) or clang from the command line or from a makefile.

For end-users, Cocoa applications are 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.


Nederlandse spoorwegen NS logo


NS is active in the public transportation sector. We encourage the use of public transportation and keep the Netherlands moving.

Github mark


Want to support our CocoaHeads Chapter? Sponsor us either as an individual or a company through GitHub.

Jetbrains


Whichever technologies you use, there's a JetBrains tool to match.

ABN AMRO


Bringing banking to the the next level. ABN AMRO is an all-round Dutch bank that offers a full range of products and services to retail, private, corporate clients

Moneybird


Moneybird offers entrepreneurs an online accounting tool for managing their finances. Features include creating invoices, storing purchase invoices, scanning receipts and sending quotes.

Achmea


Met elkaar bouwen we komende jaren aan het Achmea van de toekomst. Als er schade optreedt, vergoeden wij die en helpen we klanten bij het herstel ervan.

Egeniq


We are a young mobile technology company developing apps for various platforms and devices. A solid foundation in software engineering and practical experience are the key ingredients in our activities.