Synopses & Reviews
Carbon is one of two APIs (Application Programmer Interfaces) that Macintosh® programmers can use to write applications that run native in Mac® OS X. Using Carbon, you don't have to rewrite your Mac OS programs entirely to get them to take advantage of the new features in Mac OS X. Instead, all you have to rewrite is the 10 to 20 percent of the code that can't be translated to OS X. For C programmers, Apple's Carbon is the essential building block for applications on Mac OS X. With Carbon, you can use simple, traditional C interfaces to create world-class applications for a world-class operating system.
Learning Carbon is designed to get you programming right away in Carbon. After orienting you with a detailed tour of a Carbon application, the book walks you through the entire process of designing and creating a complete Carbon application called Moon Travel Planner. Along the way, you'll be introduced to two pivotal development tools: Project Builder and Interface Builder. You'll learn key concepts about Carbon and Mac OS X programming, including event management, resource handling, and bundle anatomy. And you'll get direct, hands-on instruction on how to implement essential application tasks, such as managing windows, printing documents, opening and saving files, creating and responding to menu commands, providing user help, and organizing your application for easy localization in multiple countries and languages. After finishing this book, you'll be ready to start writing your own Carbon applications.
Written by Apple insiders with access to engineers deeply involved in creating Mac OS X, Learning Carbon brings you information that's not available anywhere else, to get you in on the ground floor of the exciting new Mac OS X application development market.
Synopsis
Learning Carbon is designed to get you programming right away in Carbon, one of two APIs (Application Programmer Interfaces) Macintosh(r) programmers can use to write applications that run native in Mac(r) OS X. Using Carbon, you don't have to rewrite your Mac OS programs entirely to get them to take advantage of the new features in Mac OS X. Instead, all you have to rewrite is the 10 to 20 percent of the code that can't be translated to OS X. For C programmers, Apple's Carbon is the essential building block for applications on Mac OS X. With Carbon, you can use simple, traditional C interfaces to create world-class applications for a world-class operating system.After orienting you with a detailed tour of a Carbon application, Learning Carbon walks you through the entire process of designing and creating a complete Carbon application called Moon Travel Planner. Along the way, you'll be introduced to two pivotal development tools: Project Builder and Interface Builder. You'll learn key concepts about Carbon and Mac OS X programming, including event management, resource handling, and bundle anatomy. And you'll get direct, hands-on instruction on how to implement essential application tasks, such as managing windows, printing documents, opening and saving files, creating and responding to menu commands, providing user help, and organizing your application for easy localization in multiple countries and languages. After finishing this book, you'll be ready to start writing your own Carbon applications.Written by Apple insiders with access to engineers deeply involved in creating Mac OS X, Learning Carbon brings you information that's not available anywhere else, to get you in on the ground floor of the exciting new Mac OS X application development market.
"
About the Author
This book was contributed to by the technical writers, engineers, support specialists, and other professionals at Apple Computer, Inc., who are committed to making Mac OS X a superior platform for innovation, productivity, and enjoyment. These professionals have diligently collected, compiled, and edited the information in this books to ensure that it is a useful resource for Mac OS X developers.
Table of Contents
Preface; Why Carbon?; Who Might Find This Book Helpful; What You Need; What's Up Ahead; Side Trips and Terms; Code; The Environment Could Change; How to Contact Us; Chapter 1: Introduction to Carbon; 1.1 Carbon and Mac OS X; 1.2 What's in Carbon?; 1.3 Building Carbon Applications; 1.4 The Carbon Factory Tour; 1.5 Recap; Chapter 2: Specifying a Carbon Application: Moon Travel Planner; 2.1 The Moon Travel Planner Window; 2.2 The Menu Bar; 2.3 The About Window; 2.4 The Facts for the Traveler Window; 2.5 The Itinerary Window; 2.6 Recap; Chapter 3: Project Builder Projects; 3.1 A Carbon Application Project; 3.2 Moon Travel Planner: Creating a Project; 3.3 Recap; Chapter 4: Interface Builder: Nibs and Windows; 4.1 A Carbon Nib File; 4.2 Moon Travel Planner: Modifying the Default Window; Chapter 5: Interface Builder: Toolsand Controls; 5.1 Palettes and Layout Tools; 5.2 Moon Travel Planner: Adding Objectsto the Main Window; Chapter 6: Carbon Events; 6.1 Carbon Event Handling; 6.2 MoonTravel Planner: Writing an Event Handler; Chapter 7: Interface Builder: Menus; 7.1 The Menu Bar; 7.2 Moon Travel Planner: Modifying the Menu Bar; Chapter 8: Text and Localization; 8.1 Language-Specific Folders; 8.2 Moon Travel Planner: Displaying Localized Text; Chapter 9: Printing; 9.1 The Carbon Printing Manager; 9.2 Moon Travel Planner: Adding Printing to the Moon Facts Window; Chapter 10: Property Lists; 10.1 The Information Property List: Info.plist; 10.2 Moon Travel Planner: Modifying and Using Properties; Chapter 11: Files; 11.1 Managing Files on the Mac; 11.2 Moon Travel Planner: Handling Files; 11.3 Recap; Chapter 12: Providing Help; 12.1 Help on Mac OS X; 12.2 Moon Travel Planner: Adding Help; 12.3 Recap; Chapter 13: Desktop Icons; 13.1 Icon Basics; 13.2 Moon Travel Planner: Adding Icons; 13.3 Recap; Chapter 14: Beyond Moon Travel: Advanced Topics; 14.1 Scriptable Applications; 14.2 Threads and Multiprocessing; 14.3 Tab Controls; 14.4 Epilogue; Additional Resources; Building Your Mac OS X Library; Tapping the Carbon Developer Community; Keeping Current; Getting Sample Code; Registering Creator Codes; Partnering with Apple; Carbon Event Classesand Kinds; Parameter Names and Typesfor Common Event Kinds; Apple Events; Control Events; Command Events; Menu Events; Mouse Events; Text Input Events; Window Events; Colophon;