Friday 10 August 2012

iPhone Advanced Projects


iPhone Advanced Projects
Dave Mark, Series Editor
Joachim Bondo Dylan Bruzenak Steve Finkelstein Owen Goss
Tom Harrington Peter Honeder
Ray Kiddy Noel Llopis Joe Pezzillo Florian Pflug Jonathan Saggau Ben Britten Smith

The book opens with Ben Britten Smith discussing particle systems using OpenGL. Although it’s not a tutorial on OpenGL per se, Ben provides enough background and detail so that the code makes sense at a conceptual level even to those of us with only minimal experience in that area. Take your time in understanding this chapter and the sample code behind it, and the effort will be well rewarded. Besides, it’s great fun!
Chapter 2 finds Joachim Bondo demonstrating how to implement correspondence gaming such as with his chess application Deep Green. You’ll see the power of Python in Google App Engine, understand RESTful web services, implement a custom URL scheme (to support a URL beginning with chess://), and use Django’s template engine to take advantage of a plist with embedded logic and variable substitution. It’s a mouthful, but Joachim makes it look easy.
Audio is one of those topics that’s just plain hard. Different requirements mean different APIs; it doesn’t take much to become overwhelmed by the complexity. In Chapter 3, Tom Harrington shares the results of his investigation into processing audio streams, starting with the Media Player framework and moving to System Sound Services and the AV Foundation framework before settling on Core Audio. Audio is hard; take advantage of Tom’s guidance.
Every iPhone developer who has written a nontrivial application has experienced a difficult-to-find bug. In Chapter 4, Owen Goss provides advice that goes well beyond using NSLog() and stepping through the debugger. You’ll want to work through this chapter more than once to be sure you recognize which tools to use and when.
Dylan Bruzenak tackles data-driven applications in Chapter 5 with SQLite and the Active Record design pattern. Enterprise and cross-platform developers in particular will benefit from this, as will anyone who wants to keep fine-grained control over the data in their application.
Core Data is new to the iPhone with OS 3.0. It takes the task of data persistence to a seemingly magical level. (At least that’s how I first experienced it on the Mac side.) In Chapter 6, Ray Kiddy guides us from Apple’s tutorial on Core Data to its proper use in the real world, highlighting issues that can occur along the way and showing how to avoid them. Core Data is a big deal; you’ll want to work through this chapter more than once.
In Chapter 7, Steve Finkelstein combines two open source projects with Core Data to build an intelligent offline email client. It recognizes when the network status changes and uses NSInvocationOperation to keep the user interface responsive while performing other operations. When sending e-mail, control stays within the application.
Peter Honeder and Florian Pflug get down to the socket level for networking in Chapter 8. In addition to discussing the ins and outs of communicating with devices on the network, they also discuss both power management and the trade-offs between using SCNetworkReachability for detecting a Wi-Fi network vs. rolling their own autodetection code.
An unresponsive user interface is one of the most frustrating behaviors an application can exhibit. In Chapter 9, Jonathan Saggau demonstrates techniques that can be used to address this. From NSOperation/NSOperationQueue to “blocks” (part of Snow Leopard but currently available on the iPhone only via Plausible Blocks) to drawing into an off-screen context and more, this chapter is very enlightening.

Joe Pezzillo provides step-by-step guidance for setting up APNS in Chapter 10. As Joe notes, the process is not particularly difficult, but it is lengthy and involved, and that’s just for the creation of the distribution certificate. The Cocoa code is almost anticlimactic.
The book concludes with a fascinating chapter by Noel Llopis on environment mapping and reflections using OpenGL. You’ll get more out of the chapter if you first brush off your linear algebra text, but there is still much to be learned even without it. This is the kind of polish that iPhone users love to see.
You can see that this book is packed with projects that are both relevant and interesting. Take advantage of the authors’ knowledge to help your application stand above the rest!

Download Book Here.
link


No comments:

Post a Comment