Getting started with iOS Development


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.


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


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



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).


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.

The future of Mobile Apps

I think that in next 5 years Web Mobile apps will be more popular than classic Mobile apps we are using today.

Me, June 28, 2013

That is what happend in case of PCs. 10 years ago we were installing apps instead of just use them in the browser. Now we can edit Word documents, play games and even use IDE in Web Browser. I am not saying that it will be no classic Mobile apps at all, but e.g. apps like Calendar, gmail, Evernote, OneNote or games should be easilly accessible through Mobile Web Browser. The advantage of that would be lack of necessity to install bunch of apps.

What that means for developers? People who are currently working as Mobile Developers will need to learn Web Development. People who are currently working as Web Developers will need to learn Mobile Development. Additionally, future developers will not necessary need to know all different platforms (iOS, Android, WP), because they will be able to create apps in HTML5 and JavaScript (which should be well supported and compatible with Mobile Web Browsers in next 5 years).

This is my prediction. We’ll see what happens after 5 years.