Getting started with iOS Development

iPhones

I started iOS development last year. Here, I would like to summarize all (good and worth to spend time on) resources I have been using since that time.

Tools

Unfortunately, or fortunately, there is only one right set of tools: MacBook and xCode. Of course you can use terminal and Vim but…

Objective-C

First step in learning iOS Development is to learn Objective-C. Good place to start is free Try Objective-C on CodeSchool. There is also Programming with Objective-C on Mac Developer Library, but it is more in documentation style, than tutorial. Choose whatever you like better. To get more deeply there is a great book written by Stephen G. Kochan: Programming in Objective-C. It is for beginners, but discuss all aspects of the language in details.

Programming in Objective-C

iPhone/iPad programming

To get started, there are two nice tutorials:

After getting familiar with the platform, it is time to become more advanced. My favorite, and the best in my opinion is Stanford course: Developing iOS 7 Apps for iPhone and iPad by Paul Hegarty. He is a great teacher. I really recommend you to go through all lectures and do all homeworks if you think seriously about becoming iOS developer.

Developing iOS 7 Apps for iPhone and iPad

To summarize and sort out your knowledge, there is another great book: iOS Programming: The Big Nerd Ranch Guide.

iOS Programming: The Big Nerd Ranch Guide

 

UPDATE: Swift

At the WWDC 2014 conference, Apple announced new programming language: Swift. This is something, that everybody was waiting for. Finally, we have higher level of abstraction in top of Objective-C, whose expressiveness was simply uncomfortable and not developer-friendly. Swift uses the Objective-C runtime, allowing Objective-C and Swift code to run within a single program. Swift is pretty new thing, but there is already a lot of online resources to learn it. Check Swift Cheat Sheet as high-level overview. More detailed starting point is Ray Wenderlich’s Swift Tutorial: part 1, part 2 and part 3. There is also nice To do list app video tutorial. For more, check Swift at Apple Developer website and free book The Swift Programming Language (bible, over 800 pages).

Summary

All of these resources will give you solid fundaments for iOS development. After getting familiar with them you will be ready to create your own apps and publish them on App Store. Of course it is not required to go through all of them before you start creating your apps. You can just go through basic tutorials and publish your app. However, it may save you a lot of time, which you will need to spend figuring out things. Additionally, you will learn how to do things in a right way.

UPDATE2: Recently, Udacity released beginner’s guide to Swift Playgrounds, and full blown Intro to iOS App Development with Swift.

UPDATE3: On iTunes, there is already available updated Developing iOS 8 Apps with Swift from Stanford by Paul Hegarty.