Getting started with iOS Development
I started iOS development last year. Here, I would like to summarize all, good and worth spending 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. A 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 a 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 discusses all aspects of the language in detail.
To get started, there are two nice tutorials:
- Start Developing iOS Apps Today on iOS Developer Library - it is an overview of fundamental aspects of iOS development
- Getting Started with iPhone and iOS Development - this is a comprehensive overview of iOS Development, from tools to deploying Hello World app on your device
After getting familiar with the platform, it is time to become more advanced. My favorite and the best in my opinion is the Stanford course: CS193p - Developing Apps for iOS by Paul Hegarty. He is a great teacher. I recommend you go through all lectures and do all homework if you think seriously about becoming an iOS developer.
To summarize and sort out your knowledge, there is another great book: 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 a higher level of abstraction on 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 a pretty new thing, but there are already a lot of online resources to learn it. Check Swift Cheat Sheet as a high-level overview. A more detailed starting point is Ray Wenderlich's Swift Tutorial: part 1, part 2 and part 3. It 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 the right way.