Cocoa is the continuation of several frameworks (primarily the
) from the NeXTSTEP and OPENSTEP programming environments developed by NeXTin the 1980s and 1990s. Apple acquired NeXT in December 1996, and subsequently went towork on the Rhapsody operating system that was supposed to be the direct successor of OPENSTEP. It was to have had an emulation base for Mac OS applications, called
.The OPENSTEP base of libraries and binary support was termed
. Rhapsodyevolved into Mac OS X, and the Yellow Box became Cocoa. As a result, Cocoa classes beginwith the acronym "NS" (standing either for the NeXT-Sun creation of OPENSTEP, or for theoriginal proprietary term for the OPENSTEP framework, NeXTSTEP): NSString, NSArray,etc. Much of the work that went into developing OPENSTEP was applied to the developmentof Mac OS X, Cocoa being the most visible part. There are, however, some differences. For example, NeXTSTEP and OPENSTEP used Display PostScript for on-screen display of textand graphics, while Cocoa depends on Apple's Quartz (which uses the PDF imaging model).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 managednetwork connections through NSFileHandle classes and Berkeley sockets.Prior to its current use, the "Cocoa" trademark was the name of an application thatallowed children to create multimedia projects. It was originally known as KidSim, and isnow licensed to a third party and marketed as Stagecast Creator. The program wasdiscontinued in one of the rationalizations that followed Steve Jobs' return to Apple. Thename was re-used to avoid the delay while registering a new trademark, with Stagecastagreeing to market the older Cocoa under a new name.