From collectibles to cars, buy and sell all kinds of items on eBay
home | pay | site map
Shop for itemsSell your itemTrack your eBay activitiesLearn, connect, and stay informed-for business and for funGet help, find answers and contact Customer SupportAdvanced Search
Home > Listing Index > Games > Cocoa (API)

Games - Cocoa


Cocoa is Apple Computer
's native object-oriented application programming environment for the Mac OS X
operating system. It is one of five major APIs available for Mac OS X; the others are Carbon
, Toolbox
(for the Classic
environment), POSIX (for the BSD environment), and Java. (Environments such as Perl
and Python are considered minor environments because they are not generally used for full-fledged application programming).

Cocoa applications are typically developed using the development tools provided by Apple, specifically Xcode
(formerly Project Builder) and Interface Builder
, using the Objective-C language. However, the Cocoa programming environment can be accessed using other tools, such as Python, with the aid of a bridging mechanism such as PyObjC. It is also possible to write Objective-C Cocoa programs in a simple text editor and build it manually with GCC or even GNUstep
's makefile scripts.

For end-users, Cocoa applications are considered to be 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. As such, Cocoa applications are generally characterised by sleek, clean interfaces, and good performance.

Cocoa history

Cocoa is derived from the NeXTSTEP and OPENSTEP programming environments developed by NeXT in the late 1980s. Apple acquired NeXT in December 1996, and subsequently went to work on the Rhapsody
operating system that was supposed to be the direct successor of OPENSTEP and use OPENSTEP technology proper. It was to have an emulation base for Mac OS
applications, called Blue Box. The OPENSTEP base of libraries and binary support was termed Yellow Box. Rhapsody evolved into Mac OS X, and the Yellow Box became Cocoa.

Much of the work that went into developing OPENSTEP was applied to the development of Mac OS X. Cocoa is the most visible part of that synergy. There are, however, some important fundamental differences, the most visible of which is that NeXTSTEP and OPENSTEP used Display PostScript for on-screen display of text and graphics, while Cocoa depends on Apple's Quartz
(which uses PDF). Cocoa also has a level of internet support, including the NSURL and WebKit HTML classes, and others, while under OPENSTEP there was only rudimentary support for managed network connections through NSFileHandle classes and Berkeley sockets.

Prior to its current use, the "Cocoa" trademark was the name of an application that allowed children to create multimedia projects. It was originally known as KidSim, and is now licensed to a third party and marketed as Stagecast Creator. The program was discontinued in one of the rationalizations that followed Steve Jobs
' return to the company. The name was re-used to avoid the delay while registering a new trademark, with Stagecast agreeing to market the older Cocoa under a new name.

Memory management

One feature of the Cocoa environment that is certainly unusual, if not unique, is its facility for managing dynamically allocated memory. Cocoa's NSObject class, from which most classes, both vendor and user, are derived, implements a reference counting scheme for memory management. Objects derived from the NSObject root class respond to a retain and a release message, and keeps a retain count, which can be queried by sending a retainCount message. A newly allocated object, created with alloc or copy, has a retain count of one. Sending that object a retain message increments the retain count, while sending it a release message decrements the retain count. When an object's retain count reaches zero, it is deallocated and its memory is freed. (Deallocation is to Objective-C objects as destruction is to C++ objects. The dealloc method is functionally equivalent to a C++ destructor.)

[ Visit the complete Wikipedia entry for Cocoa (API) ]


Searches on eBay

Some related entries: Star Wars Trading Card Game | As I Was Going to St Ives | Sumo Digital | Donkey Kong Island | TransWarp drive | Wobbuffet | Ga-ga | Zoq-Fot-Pik | General Tsao | Nintendorks | Chess Olympiad

eBay Pulse | eBay Reviews | eBay Stores | Half.com | Kijiji | PayPal | Popular Searches | ProStores | Rent.com | Shopping.com
Australia | Austria | Belgium | China | France | Germany | India | Italy | Spain | United Kingdom

About eBay | Announcements | Security Center | Policies | Site Map | Help