iOS, the operating system behind the iPhone and iPad, has radically transformed the way people think about mobile computing and communications. The impressive new features added in iOS 6-and the upgrades of the newly released iOS 7-offer even more opportunity for creative app developers. This hands-on book gives you the skills you need to jump into the game.
iOS 7 in Action is a detailed, hands-on guide that teaches you to create amazing native iOS apps. In this entirely new book, you'll dive into key topics by exploring thoroughly-explained real-world code examples you can expand and reuse. Learn about Collection Views, Storyboarding, Twitter & Facebook Integration, Passbook, Airplay, and much more. If you're already creating iOS apps, you'll learn how to capitalize on the newest iOS features.
Disclaimer: I am a Manning Publications customer and (first time) volunteer reviewer. I received a free e-book version of iOS 7 in Action in exchange for reviewing the book.
My background: I am a Software Engineer and have used multiple languages: C, C++, C#, Java and others but had never done Apple development, used Xcode, or programmed in Objective C. I asked to review this book because I recently purchased a MacBook, installed Xcode 5.1, and was in need of a good tutorial/reference to help me get started developing apps for iOS.
Who is this book for? Developers new to iOS or experienced iOS developers who want to learn more advance topics.
This book targets iOS 7 which is the latest Apple Software Development Kit. The minimum system requirements for working through the book are an Intel-based Mac running at least Mac OS X v10.8.4 and Xcode 5 (the Apple integrated development environment which is available as a free download from Apple). iOS 7 in Action is divided into three sections: Basics, Building real-world applications, and Application Extras. The authors of iOS 7 in Action believe the best way to learn is to jump in and start creating useful applications (I agree) and by the end of the first chapter you will have completed your first iOS 7 app. This book (thankfully) does not waste multiple chapters defining all the basic programming terms. Less than half way through the first chapter the authors are already talking MVC patterns. Nice.
Part 1 (five chapters) introduces core principles and tools, views (the portion of a window that contains content), controllers (the skeletal framework of an app), storyboards (for visual layout), table views, and collection views. At the end of the first section I had created some decent iOS 7 apps to build upon and customize including a contact manager and a photo album.
Part 2 (six chapters) covers the topics necessary for developing advanced applications. Chapter 6 explains retrieving remote data (HTTP communication) and interacting with external services while developing a Chuck Norris app! Chapter 7 expands on the photo manager from Part 1 by adding interaction with the camera (photo and video). Chapter 8 builds an app that interacts with Twitter and Facebook using the Accounts and Social frameworks (centralized iOS account system). The Chapter 9 tutorial illustrates the use of animations and custom views through a tutorial that creates an animated clock app. Chapter 10 advances to use of the Core Location and MapKit frameworks, and retrieving and displaying user location while creating a map application. Chapter 11 is an introduction to the Core Data framework, used for local persistence and management of user data.
Part 3, Application Extras explores additional topics such as AirPlay (create a streaming music player), push notifications, and advanced realistic animation effects using iOS 7 API’s in UIKit Dynamics.
I have completed all of the tutorials in Part 1. I have not found any coding errors and I think only a single typo. Cheers! to the editors and early reviewers. The source code is available for download from the Manning Publications web site (I haven't looked at the code so I can't comment) but I prefer typing everything in myself – it’s the best way to learn the peculiarities of the tools (Xcode has many, but that’s a rant for another time). I think iOS 7 in Action is an excellent choice for developers who are new to iOS app development. Some previous development experience (knowledge of the C programming language, pointers, memory management) will help; else you may need additional references. This book is also a good choice for experienced iOS developers that want to learn the advanced topics in Part 2 and Part 3. iOS 7 in Action is a collection of good tutorials and also “feels” like one of those books that you keep around as a reference, even after you have finished it.
I do not recommend reading this if you are a beginner. Other books have done an excellent job teaching all you need to know to get started.
Go read a book that clearly explains the basics before jumping into cold water. There are not-so-obvious gotchas like the duplicate include statements. Remember that if you include a framework on a header file, you do not need to do it again on an implementation file that includes that header file.
I recommend this book to those who are completely new to the iOS platform. It is a rather short (compared to most iOS books!) but helpful hands on tour of the main features of the iOS platform. You'll still need a deeper dive after you've read it, but it is a very well written book and excellent for helping a newbie get oriented without getting overwhelmed.