Channels ▼

Mike Riley

Dr. Dobb's Bloggers

Cocoa Programming Book Review

May 25, 2010

What a year it has been for Apple developer-related books. Even with the dozens of Objective-C, Cocoa and iPhone programming books on the market, still more continue to hone in on orienting developers to the Apple platform. Editor, blogger, podcaster and book author Daniel Steinberg has thrown his words into the Cocoa ring with his book on the subject. How does it compare to the pile of other Cocoa titles now available? Read on to find out.Unlike other Cocoa programming books that start with an Objective-C tutorial followed by a thorough walkthrough of the Apple Xcode environment, Cocoa Programming kicks off with a page on Xcode, a page on Interface Builder and a few pages on wiring up an embedded browser application. No slow ramp-up here. Indeed, Cocoa Programming is geared toward the impatient or deadline-pressed developer seeking to get up to speed quickly with the Cocoa framework.

After building the browser app, readers are rapidly introduced to methods and parameters, classes and objects, instance variables and properties, memory, outlets and actions. Once these foundational aspects are addressed, the author walks readers through creating controller classes, working with delegates and dictionaries, managing Nibs (specialized files containing UI presentation information) and views. Tasks such as displaying tabular data and writing data to disk provide an interlude before delving into key value coding and observing, learning about cocoa bindings. This is followed by a brief introduction to the very involved Core Data framework. Categories, Blocks, Operations and Queues conclude the book. Even at 450 pages, the book still crams a lot of information in its breakneck learning pace. One would expect that such a fire hose approach would drown readers with information overload. And while there is a lot to learn, I never felt lost while reading through the book. Granted, having developed several Mac applications and read several Cocoa programming books in the past allowed me to skim over the lighter materials, but taking such liberties was infrequent thanks to the densely packed and effectively communicated text.

The author has also done an admirable job of tackling the vast subject matter on Cocoa and focused on its most prevalent aspects. This makes the book more relevant for those prepared for its fast-track approach by not getting bogged down in the details. Once developers are acclimated to the Cocoa way, other Cocoa books can be used as guides along that more involved journey.

In summary, I would recommend Cocoa Programming to those already versed in Objective-C looking to get better acquainted in a fast-track way to get acquainted with the Cocoa framework. However, for those looking to sink their minds into a deeper discussion, this book may be too task-driven for their tastes. If so, David Chisnall's Cocoa Programming Developer's Handbook is twice as large and better suited toward this more immersive approach.

Title: Cocoa Programming: A Quick-Start Guide for Developers Author: Daniel H. Steinberg Publisher: Pragmatic Bookshelf ISBN: 978-1-93435-630-2 Pages: 450 Price: $32.95 US

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.