Cocoa
Cocoa is een object-georiënteerde API voor Mac OS X, ontwikkeld door Apple. De API is geschreven in Objective-C, en kan daardoor het best vanuit die taal worden aangeroepen. Cocoa kan echter ook door Java en Python, door middel van respectievelijk de Java bridge en PyObjC. Van deze mogelijkheid wordt echter weinig gebruikgemaakt. Voorbeelden van andere API's voor Mac OS X zijn Carbon, Toolbox (voor Classic-programma's) en POSIX.
[bewerk] Geschiedenis
Hoewel Cocoa pas voor het eerst in Mac OS X voorkwam, is het afgeleid uit de broncode van NeXTSTEP en OPENSTEP, die ontwikkeld werden door het bedrijf NeXT wat Apple in 1996 kocht. Deze geschiedenis is ook terug te zien in de API zelf; het definiëert bijvoorbeeld klassen zoals NSObject en NSWindow, waarbij NS staat voor NeXT Software.
[bewerk] Enkele eigenschappen
Cocoa is gebaseerd op twee frameworks, te weten Foundation Kit (ook wel afgekort tot gewoon Foundation) en Application Kit (AppKit). De eerste definiëert objecten als NSString en NSObject, en de tweede definiëert klassen en methodes waarmee een programma interactie aan kan gaan met de grafische gebruikersinterface.
Doordat Cocoa gebruikt maakt van Objective-C, die weer gebruik maakt van een runtime-environment, hoeft de broncode niet zo expliciet te zijn als bijvoorbeeld C++; dingen die in de broncode niet direct duidelijk zijn, kunnen worden geïnterpreteerd door de runtime-environment terwijl het programma wordt uitgevoerd. Hierdoor is Cocoa krachtig en relatief gemakkelijk te gebruiken.