Author: Wei-Meng Lee
Publisher: Wrox, 2012
Aimed at: beginning/intermediate developers
Pros: Good overview of major functionality of the iOS platform
Cons: A little repetitive at times
Reviewed by: Bill Cunningham
Intended for beginning developers who want to write iPhone and iPad apps, how well does this book work?
This is a highly structured book. Each chapter starts with an overview and what you will learn section, followed by a hands-on lab –type discourse with code snippets and screen shots (in full color) followed by discussion of concepts and finally ending with exercises and a summary.
It is also a heavy hands-on type book, making the learning interactive and easy to follow. All the code samples have Automatic Reference Counting (ARC) turned off. For new developers just coming to iOS5 this makes the samples more difficult to follow. I would have preferred the book cover this in more detail and remove the unnecessary code from all but the first few examples.
Unless you know Objective C, I would start with the appendix that describes it or at least browse through it to get an idea of what is going on in the code snippets.
From there starting with Chapters 1 – 3 you explore the installation of XCode, the standard hello world, and how the UI elements work, their event model and how to update on screen elements.
Chapter 4 covers the different view controllers but lacks coverage of Storyboard, a new iOS5 feature that makes writing multi form applications much simpler. Chapter 5 covers the how to make your apps detect which device your running on, iPhone or iPad, the common problems with porting between the two and it provides a few solutions.
Chapters 6 through 9 cover standard iOS concepts such as keyboard detection, screen rotation, persisting data and application preferences. Then Chapters 10 through 12 cover file handling, SQLite and iCloud programming and Chapters 13 through15 covers animations and video playback, sending email, accessing the camera, sensors and the shake API.
Chapters 16 to 19 cover network programming including consuming web services, Bluetooth, bonjour and remote notifications. It also covers integration with Twitter; Chapter 20 deals with maps, the map API and monitoring changes and Chapter 21 deals with background programming, what you can and can’t do when suspended, notifications, etc. There is very little discussion of pointers and memory management except for two pages in the appendix.
Overall this book is a great hands-on beginner’s book. There are always caveats to these types of books. What does Beginning mean? If you’re a brand new programmer with no experience with pointers and data structures then this book is not for you. If you’ve been programming for a few years, know C, pointers, some data structures and want to quick simple hands-on approach for iOS application development, then this book is perfect.