Native iOS prototyping

Sometime last year Chesley Andrews, Paul Lau and I started coming into work an hour early everyday to study Objective-C Programming: The Big Nerd Ranch Guide. After the first 20 chapters – completed at roughly a chapter a day – I began to feel I knew enough Obj-C to move into iOS programming.

But there was a catch. The next BNR book in the series, iOS Programming: The Big Nerd Ranch Guide, concentrated on Interface Builder. While I’m sure working with IB and Storyboards are a great way to make iOS apps none of the apps in the Etsy codebase are built using them. If the mobile team’s designers want to be able to work in code on our own apps we’re going to need to know how to create UI through code.

So I’ve moved on to Programming iOS 7, 4th Edition which is focused mostly on code. I’m going to start posting here as a way to take notes, document my own progress and provide a trail for the other designers on my team. If you wish to follow along you’ll just need to get the fundamentals of Obj-C and Xcode under your belt. It’s actually easier than you might think! Also, if you work with me at Etsy feel free to ask me any questions. I love to share!


My ultimate goal for learning iOS is to gain enough knowledge to create prototype animations for new features and to be able to take on some of user interface polishing chores here at Etsy.

The next few posts will be a set of skill building exercises demoing basic things such as views, scrollviews, the navbar, push segues, animations and buttons without using the xib files produced by Storyboards and Interface Builder. You can grab all the project files from this Github repo.

 Beginning iOS programming


Now read this

Custom views – Beginning iOS Programming (Post 2)

This post is part of a series on native iOS prototyping. UIView is the smallest unit used to build a user interface in iOS. UIViews can have other views embedded in them to construct a hierarchy of multiple views on one screen. Let’s... Continue →