Special

Introducing the “Welcome to Xojo” Bundle!

New to Xojo and looking for guidance? We've put together a terrific bundle to welcome you! Xojo Bundle

This bundle includes six back issues of the magazine -- all of year 21 in printed book and digital formats -- plus a one-year subscription (beginning with 22.1) so you'll be learning all about Xojo for the next year. It's the perfect way to get started programming with Xojo. And you save as much as $35 over the non-bundle price!

This offer is only available for a limited time as supplies are limited, so hurry today and order this special bundle before the offer goes away!

Article Preview


Buy Now

Issue 7.4

REVIEW

Book: Beginning iPhone Development

Issue: 7.4 (May/June 2009)
Author: Dave Mancuso
Article Description: No description available.
Article Length (in bytes): 6,961
Starting Page Number: 11
Article Number: 7404
Related Web Link(s):

http://www.iphonedevbook.com/

Full text of article...

Developers are voicing a growing concern about desktop platforms. The consensus is that the desktop metaphor is aging and probably obsolete, but nothing compelling has appeared to replace it. The mobile software platform is a different story. The iPhone, far from being simply a phone or an iPod, has emerged as a new software platform with an innovative new interface. The tapping, gesturing, thumb and finger-based interface shows great potential for freeing our ideas for development even on the desktop. The iPhone platform's denial of copy and paste functionality underscores this commitment to a new interface. It's certainly worth checking out, and the book Beginning iPhone Development: Exploring the iPhone SDK is one of the first about developing for the iPhone platform.

Beginning iPhone Development is written by Dave Mark and Jeff LaMarche. Mark has a long history with programming books, most notably the landmark Learn C on the Macintosh titles (circa System 6 and 7, and rewritten completely for OS X a few years ago). He has a reputation for clear, lucid tutorials, and motivating readers with a "you can do it" attitude. iPhone developer Jeff LaMarche has twenty years of programming experience and has written for MacTech magazine among others. Together, their writing style reflects a semiformal tone that balances tutorials, explanations, and instructions that assist the reader's workflow as they work through the book. As you read the book, it almost feels like you have a friend right behind your shoulder helping you move onward. It was a pleasure to read.

The book's structure breaks iPhone development down to components of the interface and user experience. Major topics include Autorotation and Autosizing, Tab Bars and Pickers, Navigation Controllers, Data Persistence, Taps, Touches, and Gestures. Each topic builds on the previous. As you move through the book, you add layers to your iPhone applications. In addition to interface elements and controls, the book teaches you how to use iPhone data options (this basically boils down to the iPhone's built-in SQLite3 implementation). Later on, it leads you through utilizing Core Location. Location-based services are an incredibly exciting element of iPhone applications, so it's great to see that the book gives the topic thorough coverage.

Beginning iPhone Development teaches you programming, but it also envelops you in the new small screen interface of the iPhone. Without a stylus, the entire iPhone mobile interface is thumb-based. In a way, everything is based on blunt, thumb and finger-sized blocks of screen real estate. The flow of applications is very branched and/or sequential. Each action and view on the screen is calculated for maximum efficiency without frustration. On such a small screen, even simple misplacement of views, magnification, or interface elements can become annoying enough to hurt an application's success. The book does a great job of explaining not just what to do, but why it should be done in a certain way. Each exercise gives a rationale along with its instructions, helping to build stronger background knowledge of programming for the platform.

In order to follow the book's exercises, you must register with the Apple Developer Program and download the iPhone SDK. The developer program is free, but this only allows you to run your compiled applications in a desktop iPhone simulator program. To test your programs on an actual iPhone or iPod Touch, you'll need to join the $99 iPhone Developer level (the "Standard Program"). The free solution works fine for delving into the platform and exploring its potential. Of course, if you intend to distribute your application and sell it in the iPhone App Store, you'll definitely need to join the $99 Standard Program.

The book assumes that you already have some Objective-C experience, and suggests that you can catch up on Objective-C with Learn Objective-C On the Mac (also by Apress). Learn Objective-C On the Mac is a great book, but it would be nice to have a chapter or two on Objective-C in Beginning iPhone Development for readers. It would make the book a more complete solution. Regardless, there are a number of good Objective-C references published and/or on the web if you need to familiarize yourself with the language.

It's nice to note that learning development in this book is for more than just one device. It covers the iPhone, but also the iPod Touch as well. The iPod Touch is likely the future of many iPod hardware products, so skills learned from this book lend themselves to a new platform, an exciting new interface, and of course a new revenue stream (small per sale though it may be). It's always great to get in on the ground floor of a new platform as well. Development often flows more freely, and innovative solutions are more engaging and fun to create.

The one limitation to the book is that it may be partially obsolete soon. iPhone software version 3.0 comes out this summer, so some of the text may not apply to the new OS. The book's website should help minimize this risk. The site is updated regularly, and the forums are pretty active. The authors share their blog and Twitter information on the site and material corrections, updates, and related information are shared quickly with readers.

For anyone who wants to learn iPhone development and appreciates knowledgeable, friendly instruction, Beginning iPhone Development:Exploring the iPhone SDK is a valuable resource.

End of article.