There's a reason that a large slice of the open-source movement has defected from running Linux on its laptops to running Mac OS X. The reason is the Unix core that underlies Mac OS X, and the development tools that run on that core. Cocoa makes it easy to create very slick Mac OS X interfaces for software (as well as to create applications in a hurry), and this new edition of
Cocoa Programming for Mac OS X does an excellent job of teaching its readers how to put a Cocoa face on top of code (Objective-C code almost exclusively). If you know something about C and/or C++ programming and want to apply your skills to the Mac, this is precisely the book you want.
Author Aaron Hillegass teaches a Cocoa class, and his book reads like a demonstration-driven lecture in a computer lab. That is, the book takes a heavily example-centric approach to its subject, beginning with simple announcement windows and proceeding to cover the more advanced controls and object-oriented features of Cocoa and Objective-C. Throughout, he hops back and forth between descriptions of the goal to be accomplished, listings of the code that does the job, and instructions on how to use the Mac OS X development tools to speed the development process.
--David Wall Topics covered: How to write software for Mac OS X in Objective-C and, especially, with Cocoa. The new edition shows how to use NSUndoManager, add AppleScript capability to an application, do graphics work with OpenGL, and use Cocoa under Linux using GNUstep. As well, all the basic controls and design patterns are covered.
--This text refers to an out of print or unavailable edition of this title.
Customer Reviews & Comments
I had the pleasure to attend the April 2004 Cocoa programming class at the Big Nerd Ranch. We used a looseleaf version of the final proofs of the 2nd edition of "Cocoa Programming for Mac OS X". Short summary: Excellent. I have the first edition of the book, so let me summarize some changes: The book uses Xcode. Cocoa bindings are covered, including key value coding and key value observing. The document architecture is introduced early, and this is coupled to an early discussion of implementing undo. Topics are developed logically and incrementally. The discussion on Java has been dropped, while class notes on OpenGL have been moved into the book. An early example has been simplified to flatten out the learning curve in the first part of the book. Code examples that are developed in stages now show the new lines of code in BOLD, a vast improvement when you're typing it in. This book has been refined systematically based on feedback from real students at the BNR classes. This attention to detail really shows. I recommend the book very highly. My only suggestion would be to use Apples "Objective C Programming Lanaguage" or "Programming in Objective C" (Steve Kochan) as an adjunct to this book if you need a slower introduciton to Objective C.