TweetFollow Us on Twitter

Books on Cocoa Programming

Volume Number: 19 (2003)
Issue Number: 4
Column Tag: Reviews

Books on Cocoa Programming

The field is filling in...

by Rich Morin

I've spent the last few months learning my way around Cocoa programming, using a combination of Objective-C and Perl. I'm not anything like a wizard yet, but I'm getting by and even starting to feel a bit confident. I have received lots of support from folks on assorted mailing lists, but these books got heavy usage first. "Read the Fine Manual", and all :-).

Whether you're just starting up the Cocoa learning curve or well along the way, I'd suggest that you consider getting some of these books:

Building Cocoa Applications: A Step-by-Step Guide Simson Garfinkel & Michael K. Mahoney

O'Reilly, 2002; ISBN 0-596-00235-1

622 pp.; $44.99

Cocoa Programming

Scott Anguish, Erik M. Buck, Donald A. Yacktman

SAMS, 2002; ISBN 0-672-32230-7

1245 pp.; $59.99

Cocoa Programming for Dummies

Erick Tejkowski

Wiley, 2003; ISBN 0-7645-2613-8

366 pp.; $24.99

Cocoa Programming for Mac OS X

Aaron Hillegass

Addison-Wesley, 2002; ISBN 0-201-72683-1

383 pp.; $44.99

Cocoa Recipes for Mac OS X: The Vermont Recipes

Bill Cheeseman

Peachpit Press, 2003; ISBN 0-201-87801-1

752 pp.; $44.99

Learning Cocoa with Objective-C (2nd edition)

James Duncan Davidson & Apple

O'Reilly, 2002; ISBN 0-596-00301-3

360 pp.; $34.95

Executive Summary

If you're just starting out, I'd recommend "Cocoa Programming for Dummies". Really. It's economical, a fast read, and will give you a quick and painless introduction to the main topics you'll be studying later.

Next, you'll want to skim the two O'Reilly books ("Learning Cocoa with Objective-C" and "Building Cocoa Applications"). You'll also want to keep them close at hand for reference. If you already have some O'Reilly books, you'll know what to expect from these: clean, solid presentation, consistent organization, good production values, etc..

With this background, you'll be ready to tackle any of the last three volumes. I found each of these to contained things that the others did not, but "Cocoa Programming" was by far the most detailed and definitive of the lot. In fact, if you can only afford to buy one Cocoa programming book, "Cocoa Programming" would be the best use of your money.

Cocoa Programming for Dummies

The goals and approach of this book are about as far from "Cocoa Programming" as it is possible to be. It isn't particularly detailed, let alone definitive, and screenshots fill many of the pages. Nonetheless, it is a worthwhile book. In fact, it's the best "jump start" book I've seen, providing a painless way for "newbies" to pick up the key concepts of Cocoa programming. Just be ready to buy some more books before trying to shift into second :-).

Although the book itself contains relatively little code, the supporting web site (www.dummies.com/extras) has quite a bit. In fact, it provides a 16 MB ".sea" archive with source code, pre-built packages, and more. The examples are all simple, but that's quite appropriate to the introductory nature of the book.

Learning Cocoa with Objective-C

Although I like this book, I was surprised by the number of typos and other small errors I encountered while reading it. I shouldn't be able to find dozens of glitches in any O'Reilly book; given that this is a second edition, I should be hard-pressed to find any at all.

Nonetheless, it's a good introductory book. It covers the basics of Cocoa, Objective-C, OOP, etc.. It won't take you very far into Cocoa programming, but it's a fine lead-in and will also be handy to keep around as a reference. Like "Cocoa Programming for Mac OS X", it contains a wealth of useful diagrams, which frequently help to clarify the topic under discussion.

Building Cocoa Applications

Although I found this book useful, it is not my idea of a "Step-by-Step Guide". After short introductions to Aqua and Apple's development tools (~60 pages each), it jumps headlong into three large "Applications":

  • "Calculator: Building a Simple Application (152 pp.)

  • "MathPaper: A Multiple-Document, Multiprocess Application (154 pp.)

  • "GraphPaper: A Multithreaded, Mouse-Tracking Application (150 pp.)

Each application is used as a vehicle for explaining certain aspects of Cocoa programming. For instance, the Calculator app is used to introduce "Nibs and Icons", "Delegation and Resizing", "Events and Responders", and "Darwin and the Window Server".

Cocoa Programming for Mac OS X

This book "splits the difference" between "Cocoa Programming" and "Cocoa Programming for Dummies". It moves a lot faster than one and a lot slower than the other. It has a nice sprinkling of screenshots, many useful diagrams, and a fair amount of detail. I'm particularly happy with the coverage of design techniques, programming pitfalls, and other "incidental" issues.

The writing style is quite informal and relaxed, but the content is very solid. If you can't afford to attend a course at "Big Nerd Ranch" (the author's training facility), you may find that this book provides a similar set of information, delivered in a similar manner.

Cocoa Recipes for Mac OS X

This book is based on the "Vermont Recipes" application, a "sampler" which shows off most of the simpler Cocoa widgets (e.g., buttons, drawers, sliders, tabs, and text items), complete with error-checking code and other niceties. , tab views, and drawers). It walks the reader, in painstaking detail, through the steps needed to reproduce and enhance the application.

The web site (www.stepwise.com/Articles/VermontRecipes) contains both the app and the project files that were used to build it. If you like to work your way through someone else's examples, this site (and the accompanying book) should be very worthwhile. Alternatively, the app provides a fast way to play around with a lot of Cocoa widgets.

Because my own approach involves blundering my way through my own projects, I haven't used this book (or any of these books, really) as the authors intended. Nonetheless, I was able to use it from time to time as a way to clarify obscure points of Cocoa programming and tool use.

Cocoa Programming

As noted above, this is a very detailed and definitive volume. In fact, I found it rather intimidating at first: lots of text, a fair amount of code, and only a small number of screenshots and tables. With time, however, I realized that this book was answering my programming questions better than any of the other volumes.

I like this book so well, in fact, that I'd like to see it expanded into two volumes. The first could be augmented with more introductory information (e.g., on Apple's developer tools, the Cocoa programming model, etc.) The second could concentrate on some of the more esoteric aspects of the Apple Frameworks.

Coming Attractions

Other Cocoa programming books are on the way. Some of these will fill in holes left by the current crop; others will attempt to supplant existing books. None of the current books cover Cocoa programming in languages other than Objective-C (e.g., AppleScript, Java, Perl, Python, Ruby, and Visual Basic); I know of at least one such book (on Perl) that is in development.

I would really like to see a detailed reference for the entire range of Apple's developer tools. I have spent far too much time trying to find information on Interface Builder and Project Builder; I'd love to have a single book that covers them, as well as some of the obscure tools in "/Developer/Tools" and "/Developer/Applications", in painstaking detail.


Rich Morin

 
AAPL
$97.67
Apple Inc.
+0.64
MSFT
$44.50
Microsoft Corpora
+0.10
GOOG
$589.02
Google Inc.
-4.33

MacTech Search:
Community Search:

Software Updates via MacUpdate

TinkerTool 5.3 - Expanded preference set...
TinkerTool is an application that gives you access to additional preference settings Apple has built into Mac OS X. This allows to activate hidden features in the operating system and in some of the... Read more
Audio Hijack Pro 2.11.0 - Record and enh...
Audio Hijack Pro drastically changes the way you use audio on your computer, giving you the freedom to listen to audio when you want and how you want. Record and enhance any audio with Audio Hijack... Read more
Intermission 1.1.1 - Pause and rewind li...
Intermission allows you to pause and rewind live audio from any application on your Mac. Intermission will buffer up to 3 hours of audio, allowing users to skip through any assortment of audio... Read more
Autopano Giga 3.6 - Stitch multiple imag...
Autopano Giga allows you to stitch 2, 20, or 2,000 images. Version 3.0 integrates impressive new features that will definitely make you adopt Autopano Pro or Autopano Giga: Choose between 9... Read more
Airfoil 4.8.7 - Send audio from any app...
Airfoil allows you to send any audio to AirPort Express units, Apple TVs, and even other Macs and PCs, all in sync! It's your audio - everywhere. With Airfoil you can take audio from any... Read more
Microsoft Remote Desktop 8.0.8 - Connect...
With Microsoft Remote Desktop, you can connect to a remote PC and your work resources from almost anywhere. Experience the power of Windows with RemoteFX in a Remote Desktop client designed to help... Read more
xACT 2.30 - Audio compression toolkit. (...
xACT stands for X Aaudio Compression Toolkit, an application that encodes and decodes FLAC, SHN, Monkey’s Audio, TTA, Wavpack, and Apple Lossless files. It also can encode these formats to MP3, AAC... Read more
Firefox 31.0 - Fast, safe Web browser. (...
Firefox for Mac offers a fast, safe Web browsing experience. Browse quickly, securely, and effortlessly. With its industry-leading features, Firefox is the choice of Web development professionals... Read more
Little Snitch 3.3.3 - Alerts you to outg...
Little Snitch gives you control over your private outgoing data. Track background activityAs soon as your computer connects to the Internet, applications often have permission to send any... Read more
Thunderbird 31.0 - Email client from Moz...
As of July 2012, Thunderbird has transitioned to a new governance model, with new features being developed by the broader free software and open source community, and security fixes and improvements... Read more

Latest Forum Discussions

See All

Reddme for iPhone - The Reddit Client (...
Reddme for iPhone - The Reddit Client 1.0 Device: iOS iPhone Category: News Price: $.99, Version: 1.0 (iTunes) Description: Reddme for iPhone is an iOS 7-optimized Reddit client that offers a refreshing new way to experience Reddit... | Read more »
Jacob Jones and the Bigfoot Mystery : Ep...
Jacob Jones and the Bigfoot Mystery : Episode 2 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Jacob Jones is back in Episode 2 of one of Apples 'Best of 2013' games and an App Store... | Read more »
New Trailer For Outcast Odyssey, A New K...
New Trailer For Outcast Odyssey, A New Kind of Card Battler Posted by Jennifer Allen on July 25th, 2014 [ permalink ] Out this Fall is a new kind of card battle game: Outcast Odyssey. | Read more »
Garfield: Survival of the Fattest Coming...
Garfield: Survival of the Fattest Coming to iOS this Fall Posted by Jennifer Allen on July 25th, 2014 [ permalink ] Who loves lasagna? Me. Also everyone’s favorite grumpy fat cat, Garfield. | Read more »
Happy Flock Review
Happy Flock Review By Andrew Fisher on July 25th, 2014 Our Rating: :: HERD IT ALL BEFOREUniversal App - Designed for iPhone and iPad Underneath the gloss of Happy Flock’s visuals is a game of very little substance. It’s cute, but... | Read more »
Square Register Updates Adds Offline Pay...
Square Register Updates Adds Offline Payments Posted by Ellis Spice on July 25th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Looking For Group – Hearthstone’s Curse...
For the first time since its release (which has thankfully been a much shorter window for iPad players than their PC counterparts), Blizzard’s wildly successful Hearthstone: Heroes of Warcraft CCG is sporting some brand new content: the single... | Read more »
Poptile Review
Poptile Review By Jennifer Allen on July 25th, 2014 Our Rating: :: SIMPLY FUNUniversal App - Designed for iPhone and iPad Simple yet a little bit glorious, Poptile is a satisfying entertaining puzzle game with oodles of the ‘one... | Read more »
Modern Combat 5: Blackout Review
Modern Combat 5: Blackout Review By Brittany Vincent on July 25th, 2014 Our Rating: :: LESS QQ, MORE PEW PEWUniversal App - Designed for iPhone and iPad The fifth entry into the blockbuster Modern Combat series is what mobile... | Read more »
Watch and Share Mobile Gameplay Videos W...
Watch and Share Mobile Gameplay Videos With Kamcord Posted by Jennifer Allen on July 25th, 2014 [ permalink ] iPhone App - Designed for the iPhone, compatible with the iPad | Read more »

Price Scanner via MacPrices.net

iMacs on sale for $150 off MSRP, $250 off for...
Best Buy has iMacs on sale for up to $160 off MSRP for a limited time. Choose free home shipping or free instant local store pickup (if available). Prices are valid for online orders only, in-store... Read more
Mac minis on sale for $100 off MSRP, starting...
Best Buy has Mac minis on sale for $100 off MSRP. Choose free shipping or free instant local store pickup. Prices are for online orders only, in-store prices may vary: 2.5GHz Mac mini: $499.99 2.3GHz... Read more
Global Tablet Market Grows 11% in Q2/14 Notwi...
Worldwide tablet sales grew 11.0 percent year over year in the second quarter of 2014, with shipments reaching 49.3 million units according to preliminary data from the International Data Corporation... Read more
New iPhone 6 Models to Have Staggered Release...
Digitimes’ Cage Chao and Steve Shen report that according to unnamed sources in Apple’s upstream iPhone supply chain, the new 5.5-inch iPhone will be released several months later than the new 4.7-... Read more
New iOS App Helps People Feel Good About thei...
Mobile shoppers looking for big savings at their favorite stores can turn to the Goodshop app, a new iOS app with the latest coupons and deals at more than 5,000 online stores. In addition to being a... Read more
Save on 5th generation refurbished iPod touch...
The Apple Store has Apple Certified Refurbished 5th generation iPod touches available starting at $149. Apple’s one-year warranty is included with each model, and shipping is free. Many, but not all... Read more
What Should Apple’s Next MacBook Priority Be;...
Stabley Times’ Phil Moore says that after expanding its iMac lineup with a new low end model, Apple’s next Mac hardware decision will be how it wants to approach expanding its MacBook lineup as well... Read more
ArtRage For iPhone Painting App Free During C...
ArtRage for iPhone is currently being offered for free (regularly $1.99) during Comic-Con San Diego #SDCC, July 24-27, in celebration of the upcoming ArtRage 4.5 and other 64-bit versions of the... Read more
With The Apple/IBM Alliance, Is The iPad Now...
Almost since the iPad was rolled out in 2010, and especially after Apple made a 128 GB storage configuration available in 2012, there’s been debate over whether the iPad is a serious tool for... Read more
MacBook Airs on sale starting at $799, free s...
B&H Photo has the new 2014 MacBook Airs on sale for up to $100 off MSRP for a limited time. Shipping is free, and B&H charges NY sales tax only. They also include free copies of Parallels... Read more

Jobs Board

*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Sr Software Lead Engineer, *Apple* Online S...
Sr Software Lead Engineer, Apple Online Store Publishing Systems Keywords: Company: Apple Job Code: E3PCAK8MgYYkw Location (City or ZIP): Santa Clara Status: Full Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.