iThings Considered
Carbon, Cocoa, or Classic?
Jake Sargent - 2001.03.30
If you only heard one thing about Mac OS X in the past year, it would be Aqua. But the second thing you would learn about is the structure of Mac OS X and the new application environments that come with it. I'm referring to Cocoa, Carbon, and Classic (although there's nothing new in Classic). Each type of application programmer interface (API) is designed for a specific purpose.
Classic
Classic is really just Mac OS 9.1 running within OS X. It is good for using applications that are made for previous Mac OS versions. The majority of companies that develop applications for the Mac have committed to Mac OS X and will most likely not continue to develop applications that will not run natively under OS X. The most popular of these companies include Microsoft, Macromedia, Adobe, and Corel.
Carbon
Most companies that are porting their existing programs to Mac OS X are using Carbon, which allows programs to run under OS X and the traditional Mac OS.
Carbon is efficient, because programmers only have to rewrite 10-20% of their code to make an old program run natively in OS X. This percentage varies depending on the application and how much of the original code requires system interaction. For example, many cross-platform programs and games are designed to run on both Mac OS and Windows, and therefor do not utilize much OS-specific code. These applications are easier to carbonize. Carbon is easier to learn than Cocoa, because it is very similar to C and will likely be the more popular way of developing applications for Mac OS X.
Cocoa
Cocoa is more powerful than Carbon and takes better advantage of what Mac OS X has to offer. With Cocoa, developers can write applications in both Java and Objective-C. At the moment, there are more applications written in Carbon than Cocoa, but it is likely that as OS X becomes the standard Mac operating system, more programs will be created using this API. Applications that are currently written in Cocoa include the majority of programs from the Omni Group, a popular instant messenger called Fire, and the recently announced QuicKeys X.
Cocoa gets the prize for the most versatile and powerful API. Carbon comes in second as a quick and easy way for companies to port their programs to Mac OS X. Classic comes in last and should only be used by those that don't expect to sell any copies of their application.
Apple has done a good job creating an easy way for companies to port their existing software to Mac OS X using Carbon. Apple has also created Cocoa for those who want to take full advantage of all that Mac OS X has to offer. For developers who are too old-fashioned to carbonize their applications, there is Classic - which is a nuisance to run, but it works all the same.
I look at the transition from Classic to Cocoa (or Carbon) the same way I looked at the transition from SCSI to USB a few years back: It's something that has to be done, and we will all be thankful for it a few months down the road.
If you're interested in learning more about Carbon or Cocoa, I
suggest the following two books, which will be available in May and are
written by insiders at Apple: Learning Carbon and
Learning
Cocoa.
Links for the Day
- Mac of the Day: Macintosh Portable, introduced 1989.09.20. The nearly 16 lb. behemoth was innovative but not a smashing success.
- Support Low End Mac
Recent Content
- Fix Home Button Delay, Tablet the Ultimate Mobile PC, iPad Notebook a Possibility, and More, iOS News Review, 2012.02.10. Also using your iPad at work, two photo editors, a new iPad text editor, Macally's magnetic iPad 2 stand, and more.
- White MacBook Goes End-of-Life, Logitech Touch Mouse Supports Gestures, Firmware Updates, and More, The 'Book Review, 2012.02.10. Also MacBook Air better than any Ultrabook, docks for MacBook Pro models, Intel offers improved SSDs, and more.
- Mac and iOS Browsers: Options Galore, Freeware Forum, 2012.02.10. Safari is adequate on Mac and great on iOS, but the range of good alternatives is stunning. LEM writers share their favorites.
- Apple's Support Lead Shipping, Smartphones Outsell PCs, OS X Ported to ARM by Intern, and More, Mac News Review, 2012.02.10. Also the power of Tex-Edit Plus, Google and Twitter are already censoring the Web, Snow Leopard Security Update, and more.
- LogMeIn: Remote Screen Sharing for the Rest of Us, Alan Zisman, Zis Mac, 2012.02.09. Configuring the Mac's built-in screen sharing to work over the Internet can be difficult or impossible. LogMeIn makes it easy.
- 15 Years Ago Motorola Unveiled the PowerPC G3, Low End Mac Round Table, 2012.02.06. The G3 processor was optimized for real world Mac software and made a big leap forward in efficiency.
- Don't Kill Caps Lock, Learning to Love the iOS Keyboard, and an Adaptive iPad Keyboard, Charles W. Moore, Miscellaneous Ramblings, 2012.02.06. The Caps Lock key has a useful function, the iPad's keyboard really is useful, and checking out an adaptive keyboard for the iPad.
- More links in our archive.
Recent Deals
- Best MacBook Air Deals
- Best iBook G4 Deals
- Best iPad Deals
- Best Classic Mac OS Deals
- Best Apple TV Deals
- Best 15" MacBook Pro Deals
- Best Power Mac G4 Deals
- Best Mac OS X 10.6 Deals
- More deals in our archive.
About LEM Support Usage Privacy Contact
Follow
Low End Mac on Twitter
Join Low End Mac
on Facebook
Low End Mac Reader Specials
TypeStyler 11 is now in the Mac App Store!! -- Special Introductory Price of $59.95!! -- To Buy From The Mac App Store Click Here Now!! Or buy direct
from Strider Software.
Don't install Parallels to play poker online! Poker Mac will show you how to download and install a native Mac poker and Mac Casino applications in minutes.
Favorite Sites
MacSurfer
Cult of Mac
Shrine of Apple
MacInTouch
MyAppleMenu
InfoMac
The Mac Observer
Accelerate Your Mac
RetroMacCast
PB Central
MacWindows
The Vintage Mac Museum
DealMac
Deal Brothers
Mac2Sell
Mac Driver Museum
JAG's House
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ
Affiliates
Amazon.com
The Apple Store
The iTunes Store
PC Connection Express
GainSaver
Parallels Desktop for Mac
eBay

