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

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Brawl Stars veteran-backed Octopo Studio...
The 2024 PlayX4 B2B is kicking off tomorrow in Ilsan, lasting until the 26th in KINTEX Hall 1, and Octopo Studio has announced that they will be making an appearance. Shooting RPG Bounty Pang will be on show as the developers seek publishing... | Read more »
The Astral Express sets off to bring Hon...
After vanquishing yet another threat and adding a fine hat to their wardrobe, you’d think the crew of the Astral Express would be able to kick back after their adventures in Penacony. Clearly not though, as HoYo has announced the next leg of the... | Read more »
Dragons rein supreme in Pokemon Unite as...
If you were looking for the strongest type in Pokemon and asked the fanbase, I would wager most people's thoughts would turn to Dragon. They hit hard, are often powerful, and get used by some of the toughest trainers. Pokemon Unite is honouring... | Read more »
Players can take a peek into the design...
It doesn’t matter how much effort developers put into their classes, or how many special little mechanics there are; if there is one that wields two blades, I’m ignoring everything else. Diablo Immortal recently announced such a class in the shape... | Read more »
Android users have a new option in the c...
When you are in the thick of a firefight or trying to pull off a mid-combat parkour flip through a squad of foes, sometimes touchscreen control just won’t do it for you. For those intense sessions, you could benefit from a good mobile controller,... | Read more »
Jagex releases the first of three origin...
At this point, I am sure everyone has heard of Runescape, and or Runescape Classic. It has been going strong for 23 years, with constant content and story coming out. Luckily for fans of the game, or fantasy in general, Jagex has announced an... | Read more »
Watcher of Realms unveils new story and...
Watcher of Realms players are in for quite the feast this month, as Moonton release two powerful new heroes, including one that will burst down even the most mighty of foes. Recruit your new friends, and then burn through the Main Quest expansion... | Read more »
Reverse: 1999 continues its trip down un...
The field trip to Australia continues in Reverse: 1999 as Phase 2 of Revival! The Uluru Games kicks off. You will be able to collect new characters, engage with new events, get hordes of free gifts, and follow the story of a mushroom-based... | Read more »
Ride into the zombie apocalypse in style...
Back in the good old days of Flash games, there were a few staples; Happy Wheels, Stick RPG, and of course the apocalyptic driver Earn to Die. Fans of the running over zombies simulator can rejoice, as the sequel to the legendary game, Earn to Die... | Read more »
Top Mobile Game Discounts
Every day, we pick out a curated list of the best mobile discounts on the App Store and post them here. This list won't be comprehensive, but it every game on it is recommended. Feel free to check out the coverage we did on them in the links below... | Read more »

Price Scanner via MacPrices.net

Amazon is blowing out clearance 13-inch M1 Ma...
Amazon has clearance Apple 13″ M1 MacBook Airs on Memorial Day sale for $300 off original MSRP, only $699. Their prices are the lowest available for new MacBooks this Holiday shopping season. Stock... Read more
MacBook Sale! 13-inch M2 MacBook Airs are onl...
Best Buy has Apple 13″ MacBook Airs with M2 CPUs in stock and back on sale this week on their online store for $150 off MSRP in Space Gray, Silver, Starlight, and Midnight colors. Prices start at... Read more
Apple increases iPhone trade-in values ahead...
Get up to $650 on the purchase of new or refurbished iPhone at Apple using their official Trade In program, now with increased values ahead of WWDC 2024. Trade in your old iPhone, and Apple will... Read more
Amazon has Apple’s iPad discounted to a new l...
Amazon has Apple’s 10th-generation WiFi iPads on sale discounted up to $40 off MSRP, starting at only $334. With the discounts, Amazon’s prices are the lowest we’ve seen for these iPads: – 10″ 10th-... Read more
13-inch M3 MacBook Airs on sale for $100 off...
Best Buy has Apple 13″ MacBook Airs with M3 CPUs in stock and on sale this week for $100 off MSRP. Prices start at $999. Their prices, along with Amazon’s, are the lowest currently available for new... Read more
Weekend Deal! Best Buy has Apple Watch Series...
Best Buy has Apple Watch Series 9 models on sale for $100 off MSRP on their online store this weekend. Sale prices available for online orders only, in-store prices may vary. Order online, and choose... Read more
Apple Watch SE on sale starting at $199 this...
Best Buy has all Apple Watch SE models on sale this weekend for $50 off MSRP on their online store. Sale prices available for online orders only, in-store prices may vary. Order online, and choose... Read more
Mac Pro with M2 Ultra CPU on sale for $6699,...
In the market for one of Apple’s Mac Pro towers? B&H Photo has the base Mac Pro with an Apple M2 Ultra CPU, 64GB RAM, and 1TB SSD on sale for $6699 including free 1-2 day shipping to most... Read more
New May Verizon promotion: Switch and get a f...
Red Hot Deal Days at Verizon: Switch to Verizon this month, and get the 256GB iPhone 15 Pro for free, with trade-in, when you add a new line of service. Verizon is also offering a free cellular iPad... Read more
Updated Apple MacBook Price Trackers
Our Apple award-winning MacBook Price Trackers are continually updated with the latest information on prices, bundles, and availability for 16″ and 14″ MacBook Pros along with 13″ and 15″ MacBook... Read more

Jobs Board

Salon Manager BTC - *Apple* Blossom Mall -...
Salon Manager BTC - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/144535/winchester-va-united-states) - Job Read more
Omnichannel Associate - *Apple* Blossom Mal...
Omnichannel Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Beauty Consultant - *Apple* Blossom Mall -...
Beauty Consultant - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
Hair Stylist - *Apple* Blossom Mall - JCPen...
Hair Stylist - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Blossom Read more
Operations Associate - *Apple* Blossom Mall...
Operations Associate - Apple Blossom Mall Location:Winchester, VA, United States (https://jobs.jcp.com/jobs/location/191170/winchester-va-united-states) - Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.