This post is the first in a series reviewing the book Cocoa Programming, by Aaron Hillegass. Even if you plan to write applications solely for the iPhone, you'll find that a good Cocoa reference is essential as you get started. Read on to learn more about Aaron's Cocoa book.
Let me begin by saying, Aaron knows Cocoa. As a previous employee of NeXT which merged with Apple, Aaron has extensive experience teaching developers, including many Apple Engineers, how to write applications for Mac OS X.
After a brief history lesson of how NeXT Computer (founded by Steve Jobs upon leaving Apple) evolved and Cocoa came to life, Aaron dives into what most all developers crave from the get go, writing an application. Aaron walks through creating a simple program that ties together Xcode (developer IDE), Interface Builder (GUI layout tool) and Objective-C. There's enough covered here to get the big picture view of how to build applications the Apple way.
The next step (ouch, bad pun) is a closer looker at Objective-C. Although the details are left to other books/references (as would be expected) there is a good coverage of working with classes, basic data structures/types and a smattering of other topics that provide enough information for those who are new to both Cocoa and Objective-C to follow along as the book progresses.
The next chapter is all about memory management. With the release of Mac OS X 10.5 (Leopard) Apple introduced garbage collection as option for memory management. Prior to GC, it was your responsibility as the developer to properly retain and release all objects. One caveat worth mentioning, if you are focused solely on iPhone development, you might as well skim or altogether skip learning about garbage collection as the iPhone does not offer GC support.
In the next section of this review, I'll provide some insight as to the code examples included in the book.