Für die Stadt im US-Bundesstaat Florida siehe Cocoa (Florida).
Cocoa (englisch für "Kakao") ist ein objektorientiertes API zur Programmierung unter dem Betriebssystem Mac OS X von Apple Computer.
Cocoa-Programme sind meist solche mit einer graphischen Benutzeroberfläche (GUI), wobei ebenso auch die Entwicklung von z. B. Kommandozeilen-Tools oder Daemons möglich ist. Typischerweise erfolgt die Entwicklung mit Hilfe der "Developer Tools", die Apple kostenfrei zur Verfügung stellt und die im wesentlichen aus der IDE Xcode (Vorgänger: Project Builder) und dem Interface Builder bestehen.
Als primäre Programmiersprache dient dabei das an Smalltalk angelehnte Objective-C (eine objektorientierte Obermenge von C); alternativ ist die Programmierung aus Java heraus möglich. Daneben existieren Schnittstellen, um Cocoa aus anderen Sprachen zu nutzen, so etwa PerlObjCBridge (für Perl) oder die Open-Source-Projekte PyObjC (für Python) sowie RubyCocoa (für Ruby) und Cocoa# (für C# bzw. Mono).
Geschichte
Cocoa war zunächst der Name für eine Multimedia-Entwicklungsumgebung von Apple für Kinder, und wurde später von der Firma Stagecast mit dem Programm Stagecast Creator weitergeführt.
Das heutige Cocoa ist eine Weiterentwicklung von NeXTSTEP und OPENSTEP, welche die Firma NeXT in den späten 1980er Jahren entwickelte.
Frameworks
Cocoa besteht hauptsächlich aus zwei Frameworks:
- Foundation stellt alle relevanten Basisklassen (Strings, Arrays, Speicher-Management, Iterators etc.) zur Verfügung.
- Application Kit enthält Klassen zur Entwicklung graphischer Benutzeroberflächen, beispielsweise Fenster, Buttons, oder Menüs.
Unter neueren System-Versionen (ab Mac OS X 10.3) kommt als dritte größere Komponente ein HTML-Rendering-Framework namens Web Kit hinzu, das die Basis des Apple-Browsers Safari darstellt (Siehe auch HTML-Rendering). Daneben existiert eine Vielzahl kleinerer Frameworks, z. B. CoreMIDI, AudioUnit oder AddressBook.
Diese Frameworks entsprechen in etwa dynamisch geladenen Objektbibliotheken (DLL/DSO). Sie stehen unter Mac OS X als kompilierte Objektdateien zur Verfügung. Die meisten der Frameworks, aus denen Cocoa besteht, wurden von Apple bislang noch nicht im Quelltext freigegeben.
Siehe auch: Carbon
Weblinks
- What is Cocoa?
- http://developer.apple.com/documentation/Cocoa/Cocoa.html Apple's Cocoa documentation
- http://www.stepwise.com/StartingPoint/Cocoa.html stepwise.com Cocoa Starting Point
- http://www.cocoadevcentral.com Cocoa Dev Central
- http://www.cocoadev.com Cocoa Development Wiki
- http://pyobjc.sourceforge.net PyObjC
- http://www.cocoasharp.org Cocoa#
- Wikibooks: Programming:Cocoa