In the world of mobile operating systems, iOS market share accounted for 19.91 percent (compared to Android’s 73.54 percent) at the end of 2017 . However, in terms of revenue share, in the same year consumers spent at Apple’s App Store $38.5 billion versus $20.1 billion spent at the Google Play Store . These numbers indicate that it is never too late to learn iOS programming and enter the mobile applications market.
This book is the sixth edition of the successful series of guides for iOS programming made by Big Nerd Ranch, LLC. Because of some possible bad timing, the book is a bit outdated. The copy I reviewed was printed in July 2017 and, on the back cover, it claims that it is updated for Xcode 8, Swift 3, and iOS 10. Six months later, the current versions are Xcode 9, Swift 4, and iOS 11. This does not mean the book is useless--quite the contrary. Most of the changes between versions were reported as incremental, and the code runs without major problems. All in all, this pace of changing versions speaks volumes about how fast technology updates.
At first glance, learning iOS programming looks like an overwhelming task for a novice. A short visit to Apple’s Developer Documentation webpage shows a good number of frameworks with cryptic names. However, in this book, Keur and Hillegass do a superb job teaching a first course in iOS programming. They write very well and make the explanations entertaining. The only requirement specified by the authors is that readers should be comfortable with Swift, the language introduced by Apple in 2014 as an alternative to Objective-C.
There are 24 chapters and an epilogue. Each chapter teaches one or more concepts on iOS programming, sprinkling the explanations with diagrams and pieces of source code. Most chapters include a section of graded programming challenges (aptly named bronze, silver, and gold according to their difficulty). Also, many chapters end with a section “For the More Curious,” in which some consequences of previously seen concepts are explained. Throughout the book, five applications of different complexities are developed. All the source code of these applications can be downloaded from the book’s web page, which also includes a list of errata and an interactive forum to find help with the book’s exercises. The only problem I noticed with the book is regarding its binding. After a few days, with regular use, the first pages tend to separate from the rest.
As a final evaluation, this book, perhaps together with a Swift reference, can be useful as a first introduction to programming on iOS. It can also be used in a college course for students with a solid background in object-oriented programming. For this case, Swift can be taught along with the course.
More reviews about this item: Amazon, Goodreads