Building Cocoa Applications


Cocoa is an object-oriented development environment available in Apple's Mac OS X environment. Mac OS X, a unified operating system and graphical operating environment, is the fastest growing Unix variant on the market today. Hard-core Unix programmers, developers who cut their teeth on classic Mac operating systems, and developers who cherished NeXTSTEP, the decade-old system on which today's Cocoa is based — all are flocking to Cocoa, and they need a lot more practical information than is currently available ...

See more details below
Paperback (First Edition)
$62.35 price
(Save 4%)$64.99 List Price
Other sellers (Paperback)
  • All (27) from $1.99   
  • New (5) from $36.80   
  • Used (22) from $1.99   
Sending request ...


Cocoa is an object-oriented development environment available in Apple's Mac OS X environment. Mac OS X, a unified operating system and graphical operating environment, is the fastest growing Unix variant on the market today. Hard-core Unix programmers, developers who cut their teeth on classic Mac operating systems, and developers who cherished NeXTSTEP, the decade-old system on which today's Cocoa is based — all are flocking to Cocoa, and they need a lot more practical information than is currently available from Apple. There is a lot to learn.Building Cocoa Applications is an ideal book for serious developers who want to write programs for the Mac OS X using Cocoa. It's a no-nonsense, hands-on text that's filled with examples — not only simple and self-contained examples of individual Cocoa features, but extended examples of complete applications with enough sophistication and complexity that readers can put them to immediate use in their own environments.Building Cocoa Applications takes a step-by-step approach to teaching developers how to build real graphics applications using Cocoa. By showing the basics of an application in one chapter and then layering additional functionality onto that application in subsequent chapters, the book keeps readers interested and motivated. Readers will see immediate results, and then go on to build onto what they've already achieved.The book is divided into four major parts:Part I introduces the Mac OS X graphical user interface (Aqua) from a developer's point of view, Cocoa developer tools (such as the Interface Builder, Project Builder,and gdb debugger), object-oriented concepts, the Objective-C language in which Cocoa is written, and the basics of Cocoa programming itself.Part II focuses on building the first complete application, Calculator, a simple four-function calculator. The chapters in this part of the book extend the application, piece by piece, by introducing such features as nibs, icons, delegation, resizing, events, and responders.Part III focuses on building an application called MathPaper, which is similar to a word processor but which instead solves mathematical expressions the user supplies. The chapters in this part of the book extend MathPaper by developing both the front and back ends using a variety of Cocoa classes and methods. They introduce Cocoa'sdocument-based architecture, tasks, pipes, Rich Text format, handling document files, and using Quartz to draw in windows.Part IV focuses on building the GraphPaper application, a more complex multithreading application that graphs mathematical functions in multiple dimensions andthat uses mouse-over capabilities to identify graph points. The chapters in this part of the book add more advanced Mac OS X features such as multithreading, color,mouse events, zoom buttons, pasteboards, services, preferences, and the defaults database.By the end of the book, readers who have built the applications as they have read will have a solid understanding of what it really means to develop complete and incrementally more complex Cocoa applications.The book comes with extensive source code available for download from the O'Reilly web site, along with an appendix listing additional resources for further study.

Read More Show Less

Editorial Reviews

From The Critics
Applications developers will find step-by-step instruction for using Cocoa to build a series of graphics applications for Mac OS X in this tutorial featuring extended examples written in Objective-C. Following material on Cocoa, the Aqua interface, and Interface builder, the bulk of the book provides instructions for building a four-function calculator, a multiple-document, multiprocess application, and a multithreaded, mouse-tracking application. Familiarity with programming in general and with the ANSI C language is assumed. Annotation c. Book News, Inc., Portland, OR (
Read More Show Less

Product Details

  • ISBN-13: 9780596002350
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 5/1/2002
  • Edition description: First Edition
  • Edition number: 1
  • Pages: 648
  • Product dimensions: 7.02 (w) x 9.16 (h) x 1.19 (d)

Meet the Author

Simson Garfinkel, CISSP, is a journalist, entrepreneur, and international authority on computer security. Garfinkel is chief technology officer at Sandstorm Enterprises, a Boston-based firm that develops state-of-the-art computer security tools. Garfinkel is also a columnist for Technology Review Magazine and has written for more than 50 publications, including Computerworld, Forbes, and The New York Times. He is also the author of Database Nation; Web Security, Privacy, and Commerce; PGP: Pretty Good Privacy; and seven other books. Garfinkel earned a master's degree in journalism at Columbia University in 1988 and holds three undergraduate degrees from MIT. He is currently working on his doctorate at MIT's Laboratory for Computer Science.

Michael K. Mahoney is Dean of the College of Engineering at California State University, Long Beach, where he is also a Professor of Computer Engineering and Computer Science. Formerly, he was the Associate Vice President for Academic Information Technology and Chair of the Department of Computer Engineering and Computer Science. Dr. Mahoney started programming at NeXT Computer, Inc. in January 1989 and coauthored (with Simson Garfinkel) NeXTSTEP Programming, Step One: Object-Oriented Applications (Springer-Verlag). He has given presentations on object-oriented programming and NeXTSTEP's Interface Builder at ACM meetings in Seattle, Los Angeles, Monterey, and New Orleans. Before becoming dean, he regularly taught university courses in computer graphics, user interface design, object-oriented programming, discrete mathematics, and web development. He has supervised eight Master's theses. Mahoney earned his Ph.D. in mathematics at the University of California, Santa Barbara, in 1979. He has published papers in computer graphics, computer science education, and mathematics. He has won campuswide teaching awards at both UCSB and CSULB. His web site is

Read More Show Less

Table of Contents



Cocoa Overview

Chapter 1: Understanding theAqua Interface

Chapter 2: Tools for Developing Cocoa Applications

Chapter 3: Creating a Simple Application with Interface Builder

Chapter 4: An Objective-C ApplicationWithout Interface Builder

Calculator: Building a Simple Application

Chapter 5: Building a Project: A Four-Function Calculator

Chapter 6: Nibs and Icons

Chapter 7: Delegation and Resizing

Chapter 8: Events and Responders

Chapter 9: Darwin and the Window Server

MathPaper: A Multiple-Document, Multiprocess Application

Chapter 10: MathPaper and Cocoa’sDocument-Based Architecture

Chapter 11: Tasks, Pipes, and NSTextView

Chapter 12: Rich Text Format and NSText

Chapter 13: Saving, Loading, and Printing

Chapter 14: Drawing with Quartz

Chapter 15: Drawing in a Rectangle: More Fun with Cocoa Views

GraphPaper: A Multithreaded, Mouse-Tracking Application

Chapter 16: GraphPaper: A Multithreaded Application with a Display List

Chapter 17: Color

Chapter 18: Tracking the Mouse

Chapter 19: Zooming and Saving Graphics Files

Chapter 20: Pasteboards, Services, Modal Sessions, and Drag-and-Drop

Chapter 21: Preferences and Defaults

Cocoa Resources


Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Terms of Use.
  • - Barnes & reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously

    If you find inappropriate content, please report it to Barnes & Noble
    Why is this product inappropriate?
    Comments (optional)