PDA

View Full Version : Can Someone please explain to me what cocoa is?



plankton
06-19-2009, 06:11 AM
Sorry if i sound stupid, but i have no idea what the whole cocoa thing is.. can someone please explain it to me? is it just a lightwave term?

cheers,

rsfd
06-19-2009, 06:44 AM
No, it's an Apple term :D
Cocoa is Apples main API for native OSX software. OSX introduced several OS features that were hardly to realize in Classic MacOS.
Older software (software that was originally written for "Classic" MacOS up to version 9.x) could use the Carbon API to run on OSX. But it was always meant as an interim solution and now every software company with such software has to finally make the transition to Cocoa as Apple drops their support for Carbon (especially 64-bit support).
(As you probably know, Apple made several "switches" during the last 6-7 years: from Classic to OSX and from PPC to Intel CPU, resulting in much, much work for software companys :bangwall:).
If you like to have some more info, just wiki MacOS (http://en.wikipedia.org/wiki/Mac_OS), MacOSX (http://en.wikipedia.org/wiki/History_of_Mac_OS_X) or Cocoa API (http://en.wikipedia.org/wiki/Cocoa_(API))

rezman
06-19-2009, 07:43 AM
Cocoa is one of the main ingredients in chocolate. Often it refers to a cup of hot cocoa, as below.

https://www.enerhealthbotanicals.com/EasyEditor/assets/cocoa5.jpg

What?!! He's talking about it in relation to computers? Oh.... Never mind.

eblu
06-19-2009, 08:09 AM
Apple purchased NEXT and used its os as the Basis for os X.
NEXT used a programming language called Objective-C (related to C/C++) to provide the visible elements of its OS. the finder, windows, support for clicking and dragging things, etc...

Apple had a challenge bringing the two Intellectual properties together (mac os 9 , and NextStep (next's os))so they first itemized the parts into:
classic
carbon
and Cocoa.
and then they got them all running concurrently.

classic is/was the entire os 9 OS warts and all.
carbon, was a lightweight version of the guts of os 9 which were Valuable intellectual property (quicktime, file services, ...things we'd miss.)

Cocoa, was the NextStep way of doing things, and probably the main Reason Gil Amelio decided to go with NEXT over that OTHER os (poor gil, poor jean-louise). It Was to NEXTStep what carbon was to the mac os.

But thats all changing now.
Classic is gone, and carbon is being dissolved. everything (for the most part) in Carbon is being re-written and put into something called : Foundation.

Foundation is a platform agnostic set of software tools (for developers) it includes things like : OpenGl, Quicktime, Quartz, etc... its as close to the iron as possible, and it offers extensive access and control.

Cocoa is becoming the defacto way, on Os X, to get data (the stuff you do with Foundation; for example: 95% of LW) into windows for the user to interact with. Its goals are to lower the boiler plate code (things you know how to do because you do them all the time, its boring, and it must be done) that must be written to develop an application, and to provide "interface services" to developers. It offers ease of use, to the dev, as well as the flexibility of being able to drop into foundation, if needed.

Cocoa, at the end of the day, is an interface for making applications in OS X. Its not by any means the ONLY one, but it is the MAIN one.

Yamba
06-19-2009, 06:49 PM
Nicely explained eblu, clear and succinct.:thumbsup:

Shane

plankton
06-19-2009, 08:18 PM
thanks for clearing that up!!

so with a cocoa version of 9.6 should everything run smoother and faster?

eblu
06-22-2009, 12:35 PM
errr...
plankton... its a bit complicated.

the short answer is YES, absolutely, a cocoa version of LW should be better/faster/less crash prone.

but nothing is written in stone here, the melding of the two
microcultures: apple os x + LW could go bad if you let it.