O'Reilly logo

Learning Carbon by Apple Computer Inc

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Building Carbon Applications

Because Carbon is just a collection of C programming interfaces, you can use just about any Macintosh C development environment that supports PowerPC to build Carbon applications. However, there are some limitations. For example, Carbon developers can create applications in two different executable formats:

  • Mach-O. This is the native executable format on Mac OS X. Mach-O-based executables can run only on Mac OS X.

  • PEF. The Preferred Executable Format (PEF) binary was the native executable format for PowerPC Mac OS systems before Mac OS X. With some work, PEF executables can run on Mac OS X as well as some earlier systems. Note that PEF applications are sometimes called CFM-based applications because the Code Fragment Manager is the mechanism for preparing and executing such files.

Older environments, such as Apple’s MPW, can produce only PEF executables; while others, such as Metrowerks CodeWarrior, let you build either PEF or Mach-O versions. Which tool you use depends on what platforms you are targeting.

The tutorials in this book will use Project Builder and Interface Builder, which are Apple’s development tools for building Mach-O-based applications on Mac OS X. Both tools have been written with Carbon in mind, and they come free with Mac OS X, making them excellent choices for new developers.

Project Builder and Interface Builder work in conjunction with each other to make building applications easier than ever:

  • Project Builder. The main development environment; it lets you create and assemble the components of your application. Being a user-friendly development environment, Project Builder gives you many standard application features for free, such as support for basic event handling.

  • Interface Builder. A WYSIWYG tool that lets you lay out user interfaces in a simple, intuitive manner. These interface templates are stored as a .nib file, which your application can then access to create its windows, menus, and other elements.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required