Wednesday, December 3, 2014

THE iOS instruction manual

This is my third read of "Programming iOS..." by Matt Neuburg and I am very grateful for what Mr. Neuburg does. Just like the previous two versions I read (iOS 6, iOS 7) I am amazed at the lengths that Mr. Neuburg goes to fully explain a feature or concept of the vast iOS API.

When I first started iOS programming (circa iOS 6) I read the many volumes that make up the official Apple documentation. The official documentation is probably the best documentation I have read over the past 15 years of software development. However, just like a great owners' manual, the Apple documentation tells you everything about how their product is constructed, the options, features, etc.

Apple tells you all about the iOS API, but not really how to USE the iOS API. It is somewhat like buying a new lawnmower. You read the owners' manual and find out everything about the machine, even basic 'operating' instructions. But, they don't teach you how to cut the lawn. That comes from experience and hands on training - of which there is no substitute. Mr. Neuburg's books provide what Apple's owner manual does not - a true Instruction Manual.

Side note : The Swift Programming Language published by Apple is a great improvement on documentation. I read the book on the way home from WWDC 2014 and learned about Swift. It is a good starting point - not as good as O'Reilly's "Swift Pocket Reference" if you have programming experience.

Back to "Programming iOS 8". Mr. Neuburg provides a logical breakdown of the API into four broad topics - Views, Interface, Frameworks, and Final Topics. Other than the first version of "Programming iOS" I don't feel the need to read the book cover to cover. I start programming and when I run into a hurdle I consult my 'references'. Sometime I just need the Apple documentation to help me 'find' what I am looking for in the API. But, most of the time after I find what I am looking for I am still at a loss on how to use it. Then I turn to "Programming iOS" to get some instruction.

"Programming iOS 8" is a large book. If you are just starting out with iOS programming I would also recommend another book by Mr. Neuburg, "iOS Programming Fundamentals". Starting with the iOS 7 book Mr. Neuburg removed all of the IDE and basic instruction and put it into a separate book.

I review for the O'Reilly Reader Review Program