Foundation Kit

Foundation 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.

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

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

  1. [http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/Articles/chapter_13_section_3.html Mixing Objective-C and C++ Language Features
  2. MacTechNews: „Existiert Cocoa für Windows?“

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужно решить контрольную?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Foundation Kit — The Foundation Kit, or just Foundation for short, is a framework specified under the OpenStep specification. It specifies device independent classes and programming functionality. Some of these classes specify data structures, for example NSSet,… …   Wikipedia

  • Kit Armstrong — (born March 5, 1992 in California) is an American classical pianist and composer. At 10 he had composed more than 15 works and attended university. [ [http://www.paloaltoonline.com/weekly/morgue/2002/2002 11 08.kit08.html Palo Alto Weekly] ] 12… …   Wikipedia

  • Kit Bond — (* 6. März 1939 in St. Louis, Missouri; eigentlich Christopher Samuel Bond) ist ein US amerikanischer Politiker und war Mitglied des US Senats für den Bundesstaat Missouri. Er übte auch zweimal das Amt des Gouverneurs aus. Er war d …   Deutsch Wikipedia

  • Kit house — Cover of the 1916 catalog of Gordon Van Tine kit house plans …   Wikipedia

  • Kit Kat — For other uses of Kit Kat or Kit Cat , see Kit Kat (disambiguation). Kit Kat International Kit Kat logo United States Kit Kat logo …   Wikipedia

  • Kit Klein — Catherine Kit Klein (March 28, 1910 ndash; April 13, 1985) was an American speed skater. Short biography Kit Klein was born in Buffalo, New York and started competing on the local level. Later, Klein finished first in the 1500 metres event and… …   Wikipedia

  • Foundation Award — Dieser Artikel wurde zur Löschung vorgeschlagen. Falls du Autor des Artikels bist, lies dir bitte durch, was ein Löschantrag bedeutet, und entferne diesen Hinweis nicht. Zur Löschdiskussion Begründung: Vorlage:Löschantragstext/November Aus der QS …   Deutsch Wikipedia

  • Foundation (box set) — Infobox Album | Name = Foundation Type = Box Set Artist = Magnum Released = May 1990 Recorded = 1978 1985 Genre = Rock Melodic Rock Progressive rock Length = Disc 1: 39:36 Disc 2: 40:33 Disc 3: 35:19 Disc 4: 39:38 Disc 5: 45:49 Disc 6: 70:10… …   Wikipedia

  • Core Foundation — (also called CF) is a C application programming interface (API) in Mac OS X iOS, and is a mix of low level routines and wrapper functions. Apple releases most of it as an open source project called CFLite that can be used to write cross platform… …   Wikipedia

  • The Detachment Kit — Detachment Kit Origin Chicago, USA Genres Indie rock Years active 1999–present Labels Frenchkiss, Self Starter Foundation, spinArt …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”