I’ve learned a large number of languages, toolkits and SDKs over the years and that’s all been done from books. I’ve read good books, bad books and mediocre books. From where I’m standing, The iPhone Developer’s Cookbook
is a bad book.
If you read the back cover and even flick open to the prerequisites, you might think this book is for you. Later while cowering in a corner crying, you might realise it isn’t. But by then the mental scarring will have already set in.
The prerequisites page only mentions the following with regards to knowledge required: “Familiarity with Objective-C”. No mention is made of familiarity with writing software for OS X, but on page 23 we’re seeing statements like “These essential frameworks enable you to build your iPhone applications using the same fundamental classes and calls you are familiar with from the Macintosh”. Or not. As the case may be.
This is followed on page 24 by a comment about Info.plist – “It works the same way Info.plist files work on the Mac.” Hopefully that means something to you. Even as early as page 7 we’re seeing things like “As with the Macintosh…”
This book does not stand well on its own and that will make it less accessible to many people.
Then we get to the missing stuff – in the very first project, we’re instructed to “Drag the three image files from the Chapter One Project folder provided with this book…” Provided where? There’s no CD in the back, and I’ve not found anything in Chapter 1 so far that tells me where this resource is supposed to be included. Even if it is somewhere on the Interweb, how does that help me? I pay for my bandwidth and it’s capped – why should I pay extra to make full use of a book I already bought?
The first code listing spans almost two full pages as a single block of text. While the code is commented, there is no in-line breakdown of what each section is and you’ll find yourself flipping back to previous pages to tie what you read there back to the code being displayed. Once this two page block of code is over, you don’t see it again during this chapter – there is no further discussion of the code so you have to take it on faith for now and learn about it later. That’s fine for a 10 line “hello world” app, but not really acceptable for an introduction to a language / framework like Cocoa. It scares me mummy!
All in all, first impressions are not good. This is not a book to rival the kind of book we’ve become used to with the Aaron Hillegass definitive reference for starting OS X programming
. It will serve more experienced Apple developers well, but will be frustrating for new users.