Book Review - iPhone in Action: Introduction to Web and SDK Development
Published by: Manning Publications
ISBN: 193398886X
ISBN: 193398886X
Reviewer Ratings
Relevance:Readability:
Overall:
Buy it now
One Minute Bottom Line
| “iPhone in Action” covers both web-app and SDK development for the iPhone. It allows web-programmers to learn how to create web pages that look good in iPhone. The book will also teach novice iPhone SDK programmers about the available tools and APIs and will get them to start creating apps for the iPhone via the SDK. |
Review
“iPhone in Action: Introduction to Web and SDK Development” is exactly what the title says. This book not only covers creating apps through the iPhone SDK, but also covers how to create web pages using HTML, CSS and Javascript that work well on iPhone’s Safari browser. The book is split into four sections. The first of which is just an introduction to the iPhone device and covers the pros and cons of Web and SDK development.The second section spans 7 chapters, and covers Web development for the iPhone. The book walks the reader through creating web apps for the iPhone starting with WebKit and moving on to iUI (allows web apps with native look and feel), Canvas (scalable vector-graphics toolkit implemented as an HTML tag). It also spends a chapter talking about debugging iPhone web pages. I particularly liked the fact that the book talks about a few techniques for converting existing web pages to look good on the iPhone, without the need for complete re-write.
Section 3 spans 6 chapters, and is an introduction to iPhone SDK. It contains an overview of Objective-C and the iPhone OS, and covers the tools for SDK development (Xcode, Interface Builder). It also covers basic programming models for the iPhone, and introduces view controllers and monitoring events and actions. The introduction provides a good coverage of the basics needed to start working on more complex programs using the SDK.
Section 4 is about programming with the SDK toolkit. This is where the rubber meets the road, and the book covers some of the core APIs in iPhone SDK. The chapter about data has coverage about accepting data from user, and its storage and retrieval using SQLite. There’s a chapter dedicated to using the built-in accelerometer and the Core location APIs. The chapters about media and graphics cover Core Graphics and Core Animation frameworks. At the end of this section, the reader should have a decent understanding of how to use the SDK to create complex apps for the iPhone.
I do have a few complaints about the book though, some of them potentially significant enough to mar the experience. A good example is far more instructive than several pages of text, so I like books that use code samples and examples to explain concepts. This book has too few of both, and instead mostly relies on verbosity to explain important concepts. The few code snippets that are present in the book do not have enough source code to provide good context. Often, the code snippets use concepts that have not been adequately covered which leads to the reader trying to guess the meaning of some constructs.
Another problem is that the book uses quite a few forward references. Several times I was frustrated because the book talks about a concept that has not been covered yet and continuously points the reader to various parts of the book for more details. This jumping around breaks the linear flow and hinders the understanding of the material being read.
A few other things to mention that are not necessarily complaints. The book is based on pre-3.0 SDK, so it does not talk about anything in iPhone SDK 3.0+. For the web-part, the book assumes a solid base in HTML, CSS & Javascript. This means that you will need other resources for these topics if you are just starting out.
Overall, this book is a decent introduction to iPhone Programming. It has a good coverage of creating apps for the iPhone using web tools or the SDK. It has enough material for novice iPhone programmers to get started on the platform and begin creating cool apps.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)





