- Application Kit
-
Cocoa [ˈkoʊkoʊ] (engl. für „Kakao“) ist ein objektorientiertes API zur Programmierung unter dem Betriebssystem Mac OS X von Apple.
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); C/C++ ist grundsätzlich innerhalb eines Projektes verwendbar[1]. Alternativ ist die Programmierung (mit Einschränkungen) aus Java heraus möglich. Insbesondere wird die Java-Cocoa Bridge von Apple überhaupt nicht mehr unterstützt. Weiterhin 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). In der Betriebssystem-Version 10.4 enthält Cocoa sogar eine kleine Datenbank (SQLite). Die Mac-eigene Skriptsprache Apple Script kann genutzt werden, um einfache Aktionen und Routinen zu implementieren.
Inhaltsverzeichnis
Geschichte
Cocoa war zunächst der Name für eine in Sk8 geschriebene Multimedia-Entwicklungsumgebung von Apple für Kinder, welche später von der Firma Stagecast unter dem Namen Stagecast Creator weitergeführt wurde.
Das heutige Cocoa ist eine Weiterentwicklung von NeXTSTEP und OPENSTEP, das von der Firma NeXT in den späten 1980er Jahren entwickelt wurde.
Nach Erscheinen einer Betaversion von Safari für Windows im Juni 2007 kamen Gerüchte auf[2], dass Apple (wieder) an einer Portierung von Cocoa auf die Windows-Plattform arbeitet.
Frameworks
Cocoa besteht aus drei 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.
- CoreData (seit Mac OS X 10.4 – „Tiger“) zur Erstellung von Modellen.
Die Klassen des Cocoa-Frameworks tragen hauptsächlich die Kennung NS (NeXTStep).
Mit OS X werden weitere Frameworks geliefert, die jedoch keine Bestandteile von Cocoa selbst sind.
- WebKit HTML-Renderer, der die Basis des Apple-Browsers Safari darstellt (siehe auch HTML-Rendering).
- AddressBook zur Kommunikation mit dem System-Adressbuch
- Core Image, Core Animation
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
- GNUstep, eine Open Source Implementierung von Cocoa
Literatur
- Aaron Hillegass: Cocoa Programming for Mac OS X. 3. Auflage. Addison-Wesley Longman, Amsterdam, Upper Saddle River, NJ 2008, ISBN 978-0-3215-0361-9.
- Aaron Hillegass: Cocoa Programmierung für Mac OS X. Übersetzung der 3. Auflage. mitp-Verlag, Frechen, 2008, ISBN ISBN 978-3-8266-5960-7.
- Scott Anguish, Eric M. Buck, Donald A. Yacktman: Cocoa Programming. Sams, 2002, ISBN 978-0-6723-2230-3.
- Amin Negm-Awad: Objective-C und Cocoa Band 1: Grundlagen. Smartbooks, 2008, ISBN 978-3-9084-9782-0.
- Klaus M. Rodewig, Amin Negm-Awad: Objective-C und Cocoa. 2. Auflage. Smartbooks, 2007, ISBN 978-3-9084-9742-4.
Einzelnachweise
- ↑ [http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_13_section_3.html Mixing Objective-C and C++ Language Features
- ↑ MacTechNews: „Existiert Cocoa für Windows?“
Weblinks
Wikimedia Foundation.