Preface to the Second Edition I once studied with a wise
mathematician named Soo Bong Chae. Dr. Chae had written a few
really good books, and one day he told me his secret: "After I
write a book, I put it away for two years. After avoiding the book
for two years, I read it and rewrite the parts that need work. Then
I publish it." The idea was a good one: By ignoring the book for
two years, he could revise it with fresh eyes. But that''s not what
happened in my case. It has, indeed, been two years since I wrote
the first edition of Cocoa(R) Programming for Mac(R) OS X. In that
time, however, I have taught 20 classes using the book as a text.
Overall, the first edition was a good book, but it was far from
perfect. Where the book was weak, I have suffered. It was with
great relish I eliminated these sore spots from this edition.
During these two years, Apple has continued innovating upon the
strong base that Mac OS X created. Hundreds of tiny improvements
were made, and two large changes occurred: Project Builder was
replaced by Xcode, and Cocoa bindings were added to Cocoa.
Throughout this book, you will use Xcode, and Cocoa bindings are
covered in Chapter 6. Also, during these years, I continued my work
as a programmer. As my clients asked for certain features to be
added to their products, I came to realize that several topics
needed to be addressed in a new edition the book. Besides many new
"For the More Curious" sections, the second edition has five
entirely new chapters: Chapter 7 describes how to add undo
capabilities to an application using NSUndoManager. Chapter 28
demonstrates how to make an application AppleScript-able. Chapter
29 shows how you can use OpenGL calls within a Cocoa application.
Chapter 30 gives the necessary steps to create a reusable
framework. Chapter 31 will get you started creating Cocoa
applications on Linux using GNUstep. The final improvement is a
physical one: The second edition has a lay-flat binding so that it
can sit at your elbow as you work through the book. Although a
subtle change, I think it will make your experience with the book
and its ideas a little bit more pleasant. I don''t get to ignore
this book after it has been published-;the quality of the book has
a direct influence on the quality of the courses I teach. Is it a
good book? Let me put it this way: I am looking forward to going
through it with my students a dozen times this year. I guess that
says something. Preface to the First Edition Cocoa is a powerful
collection of tools and libraries that enable developers to write
applications for Mac OS X. iPhoto, iChat, iCal, iSync and Safari
were all written using Cocoa. Why Cocoa? Because it allows
programmers to develop full-featured applications faster than ever
before. The increased speed does not, however, come for free. The
new technologies have a steep learning curve. This book will guide
you through the ideas and techniques that separate the great Cocoa
programmers from the wanna-be''s. This book is written for
programmers who already know some C programming and something about
objects. The reader is not expected to have any experience with Mac
programming. It is a hands-on book and assumes that the reader has
access to Mac OS X and the developer tools. The developer tools are
free. If you bought a shrink-wrapped copy of Mac OS X, the
developer tools CD was in the box. The tools can also be downloaded
from the Apple Developer Connection Web site ([a
href="http://connect.apple.com/" title="http://connect.apple.com/"
target="_new">http://connect.apple.com/ ). -;Aaron Hillegass
0321213149P04152004
The highly acclaimed introduction to Cocoa-recommended most by
experienced Mac OS X developers now updated and expanded.
Here's what critics said about the first edition:
"Reading this book is the absolute best way to learn how to
harness the power of this amazing technology."
-Andrew Stone, President, Stone Design,
www.stone.com
"Make sure this is the first one you pick up. It's the best book
for a beginning Cocoa programmer."
-From the review on HyperJeff.net&
"I love this book. The descriptions are clear, the examples
logical. Everything a programmer needs to get up to speed on
Cocoa."
-Dave Mark, Editor, MacTech Magazine
To help programmers develop applications for Mac OS X, Apple is
now giving away XCode, Interface Builder, and the Cocoa
frameworks-the tools used to create Safari, GarageBand, Mail, and
the iApps. Cocoa® Programming for Mac® OS X, Second
Edition, will give you a complete understanding of
how to use these tremendously powerful tools and frameworks to
write full-featured applications for the Mac.
Guiding programmers through the key features of Cocoa, this book
emphasizes design patterns that enable you to predict the behavior
of classes you have never used before. Written in a tutorial
format, it takes you step-by-step through the creation of six
applications and an Interface Builder palette. Each project
introduces several new ideas, and as each concept or technique is
discussed, the author, drawing on his own extensive experience,
shows you the right way to use it.
Updated for Xcode and Mac OS X 10.3, new chapters in this second
edition include coverage of OpenGL, AppleScriptability, the undo
manager, creating frameworks, and a brief introduction to using
GNUstep on Linux.
Harness the power of Cocoa's object-oriented software development environment with this book that is completely updated for Mac OS X 10.2. Cocoa has quickly gained recognition as the leading development framework for building OS X applications. Users will understand the common features found in Cocoa's tools: InterfaceBuilder, ProjectBuilder, the GCC compiler and the GDB debugger.