|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Editions | myCNN | Video | Audio | Headline News Brief | Feedback | ![]() |
![]() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Moving to OS X: A bridge made of Carbon
(IDG) -- In 1997, when Apple was still charting its OS roadmap, one of its biggest challenges was providing a smooth migration path for current Mac applications. A modern operating system like Rhapsody--as the forthcoming OS was known back then--promised such long-overdue capabilities as protected memory and pre-emptive multitasking. However, most developers would have to rebuild their applications nearly from scratch to take advantage of the new features, and applications created for the new OS would not run on the old one. The only alternative was the Blue Box--the Mac compatibility environment now dubbed "Classic"--where current applications could run, but without the benefits of a modern OS.
Mac developers were not thrilled with this scenario, and some--including Adobe Systems--held out the possibility of shunning Rhapsody. Coming at a time when Apple was still losing bucketfuls of money, it appeared that the company's latest OS scheme might go the way of the ill-fated Copland project. Fast-forward to Apple's Worldwide Developers Conference, May 1998. Apple had just introduced the iMac, and a month earlier had reported its second consecutive profitable quarter. But developers were still awaiting word on what the company said would be a new Mac OS strategy. The word they would hear was "Carbon." Carbon, they learned, is a software specification that would provide a bridge to Mac OS X, which Apple revealed as the new name for the next-generation operating system. It defines a set of application programming interfaces (APIs) that developers can use to run the same software on Mac OS 8/9 and Mac OS X. By making relatively modest changes to their code, developers can take advantage of Mac OS X's modern OS features while retaining compatibility with legacy systems. Soon, developers who had been skeptical about Apple's prospects were making plans to migrate to the new OS.
The basis of lifeAPIs provide a standard means for one piece of software to access functions within another. Adobe Photoshop plug-ins, for example, use Photoshop APIs to apply filters to bit-mapped images. In a similar way, Macintosh programs use APIs in the Mac OS to access the operating system's underlying functions: drawing windows and dialog boxes on the screen, interpreting mouse and keyboard input, and so on. (Some programs "cheat" by accessing low-level system functions directly, but these are the exception.) Apple engineers found that most of the APIs in the current Mac OS would work in a modern OS environment. Carbon consists of those "approved" APIs, along with some new ones designed to exploit Mac OS X's more-sophisticated architecture. By sticking to the Carbon APIs and reworking their code to operate within a modern OS environment, developers could move to OS X with relative ease. Apple says the Carbon APIs cover about 90 percent of the functions used by most current applications. Many of the APIs that didn't make the cut provide support for 68K Macs and other old technologies, what Steve Jobs described as the "crusty barnacles" of the Mac OS. To demonstrate the ease of developing Carbon applications, an Adobe engineer took the stage during the WWDC 98 keynote to show a prototype Carbonized version of Photoshop that he assembled over a two-week period. Apple named the technology "Carbon" because the element is the basis of all life forms. The company posted a utility called Carbon Dater that developers could use to determine how much of their source code had to be overhauled. Carbon applications will take advantage of Mac OS X's modern OS features, but can also function within the confines of Mac OS 8 and 9. Running in their own protected memory spaces on the new OS, Carbon applications won't freeze the system if they crash, and they'll benefit from OS X's pre-emptive multitasking and advanced virtual memory functions. However, Carbon applications lose these advanced OS functions when running under the current system. Likewise, Carbon applications assume Aqua interface features when running under Mac OS X, but revert to the Platinum appearance in Mac OS 8 and 9 (unless Apple grants the wishes of some users and releases an Aqua theme for the current OS). You can see the difference in the screen shots of AppleWorks 6 running in each environment (see link below). Carbon is one of three primary application environments in Mac OS X. The other two are Classic, which we covered in Part Four of this series (see link below), and Cocoa, which is designed for creation of brand-new Mac OS X applications. Slow evolutionThe news at WWDC 98 did not cause a flood of new Carbon applications. Apple was still in the preliminary stages of defining the spec, so developers had only a rough idea of which APIs would be included or omitted in Carbon. Apple provided enough information that most developers could begin Carbonizing applications for Mac OS 8 and 9 as part of their regular upgrade cycles. However, it wasn't until WWDC 2000 in May that developers received the tools they needed to fully Carbonize their applications to run under Mac OS X: Developer Preview 4 (DP4) and a beta version of Carbon development tools for Metrowerks CodeWarrior. In his WWDC 2000 keynote, Steve Jobs told developers that they had no more excuses to avoid moving applications to Mac OS X. "The train is leaving the station and the time is now," he said. Many sessions at the conference were designed to help developers get on board. For now, however, only a handful of applications are fully Carbonized. Aside from AppleWorks 6, they include Microsoft Internet Explorer 5 and Casady & Greene's SoundJam MP Pro. The latter two are available in prerelease versions; Apple included a beta of IE 5 on the DP4 CD that shipped to developers last month, and C&G has posted a preview of SoundJam MP that works only with DP4. Almost all software components in Mac OS X are written in Carbon or Cocoa. The new Finder, for example, is a Carbon application. What's newAlthough Carbon is derived from the current Mac OS APIs, it makes some changes to accommodate Mac OS X's modern OS features and system services. For example, Carbon applications will access memory differently to exploit Mac OS X's protected memory and advanced virtual memory schemes. They'll use new drivers for printers, network cards and other hardware devices; Apple says the revamped I/O architecture in Mac OS X will streamline driver development. Carbon also introduces the Carbon Printing Manager, which allows applications to take advantage of Mac OS X's enhanced printing capabilities, while also supporting Mac OS 8 and 9's printing system. Developers who have not yet brought their applications up to speed with recent Mac OS technologies will have to do so. This means using Open Transport instead of AppleTalk Manager, Navigation Services instead of Standard File Package and OpenGL instead of QuickDraw 3D. (A group called Quesa has developed an open-source implementation of QuickDraw 3D that runs on top of OpenGL.) Apple provides thorough documentation for Carbon on its developer site. Carbon will be the vehicle that allows familiar Mac applications to make the transition to Mac OS X. But the next-generation OS also includes tools that allow developers to build new applications from the ground up. RELATED STORIES: Taking a look at Mac OS X's new Finder RELATED IDG.net STORIES: Moving to OS X: Introduction RELATED SITES: Carbon Dater from Apple | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Back to the top |
© 2001 Cable News Network. All Rights Reserved. Terms under which this service is provided to you. Read our privacy guidelines. |