Review: Introducing iOS 8 by Steve Derico (Early Release, O'Reilly Media)



Introducing iOS 8: Swift Programming From Idea to App Store
Steve Derico
Publisher: O'Reilly Media
Release Date: September 2014
Pages: 300 (est.)

Routing success

Introducing iOS 8 is the book for absolute beginners. It opens with a six-stage path to success that starts off with studying the App Store and is designed to provide the easiest way you'll ever encounter for learning to natively program iOS.

Having passed through the essentials of downloading Xcode, the book explains integers, floats, strings, methods, classes and so on at length before progressing onto the model-view-controller (MVC) programming structure. Attempting every possible tactic to keep things light and to prevent intimidation of the beginner.

Of course this is a challenge, because as everyone who has ever programmed an app knows things always inevitably become difficult sooner or later. And in some ways it is a delaying of the inevitable. At the same time if beginners can be guided past those first few steps then they are more likely to stick around and try for longer.

Will it work?

I have to be honest that I did groan inside at some of the visuals, like placing a picture of a fashion model overlaid with zeroes and ones to represent the model in the explanation of MVC. But looking past this I do think there's a place for a slow start. (update: the finished book has replaced the earlier visual referenced in this paragraph.)

In my own experience of learning to program for iOS, I threw myself into the deep end with Programming iOS 5 (Matt Neuburg) a few years back and while it is a brilliant text I just wasn't ready for it given my experience was in web languages, and since that experience only extended to the very basics of PHP.

It took me the best part of six months to read through Programming iOS 5 and when I had finished I read it all over again because it had read to me like a copy of Finnegans Wake the first time around. If I'd begun with the equivalent of this book and then moved up to Neuburg's book then maybe the fog would've cleared more quickly.

First steps

I certainly remember when first reading Programming iOS 5, Neuburg's reluctance to enter into Hello World examples came as a bit a shock. But that was appropriate for the level of his readers. Whereas this book is aimed at the beginner and so instead walks us through a Hello World that even describes dragging Xcode to the dock for easy opening.

The example is spaced out across many pages and has screenshots for every step of the way, which I'm sure will be a pure delight for beginners.

Swiftly does it

Chapter Three introduces Swift and Playgrounds to the reader. It also uses Swift as an opportunity to revise the earlier topics like integers, floats, boolean values, strings and objects. And having used this as the starting point then takes us deeper into Swift. Providing tips and "Personal Challenges" along the way.

At the end of Chapter Three there is sample code and there are screenshots for building an app to calculate restaurant tips. Once again things are taken slowly and the code is extracted and described in detail.

Deeper down

Chapter Four extends the discussion of classes and methods into the areas of subclassing, inheritance and overriding. And as with the chapters before it concludes in an illustrated example of how to build a small practice app.

It is clear by Chapter Five that the writer is tuned into the learner's mindset, because I remember clearly wanting to know early on how you "hyperlink" (as I naively thought of it) in iOS between screens.

This hyperlinking (or to give it its proper name segueing) is something that I had to dig deep to find out about when I first started out. (Hence I wrote this post on the Navigation Controller and how to embed View Controllers inside one.) But Chapter Five goes a step further in its closing project and also informs the reader how to set up a table view. Something that often forms the heart of an app, or at least a major navigation or information element.

From debugging to autolayout

Throughout the text, the message is don't worry about crashes and that practice makes perfect, and come Chapter Six the author is ready to discuss debugging. This happens alongside documentation and app icons. But the chapter that will most likely be of use to all developers is the chapter on Devices and Autolayout (Chapter Seven).

Even experienced developers get confused by the relatively new concept of autolayout and Chapter Seven might just be the piece of writing that everyone throughout the community has been waiting for.

Stepping up

In the middle of the book things are stepped up a notch as discussion turns to GPS (Global Positioning System) and the app that is built at the end of Chapter 8 uses the MapKit framework. And by the end of Chapter 9 the user is building an app to post selfies to Facebook and Twitter.

As usual for this book, each of the examples described provides a screenshot for every step in the process and thorough guidance.

Finishing up

The final chapters of the book take the reader through the creation of provisioning profiles, submitting to the App Store and even managing and marketing your app. As with Chapter 7, which provided a walkthrough of autolayout, Chapters 10 and 11 may be of use to people of a more advanced programming level than this book typically caters for.

Conclusion

This book certainly has all the ingredients to teach you how to write code from scratch and you'll definitely be able to impress people with what you learn here. I can't guarantee this will lead to the next bestseller, but you never know!

Mainly I see this as step one on the road to writing apps for iOS, a book in which you'll gain familiarity and confidence with the platform.


Endorse on Coderwall

Comments