Learning how to create iOS apps
I've always wanted to start learning on how to build iOS applications. Some weeks ago I made a small research on all available courses on the net, I started with the Rob's course on Udemy but I quickly switched to the recently released Stanford one (I'll explain why in the next paragraphs). I think I finally got a really good learning path. What i'm going to explain is a list of resources you can use to start learning the iOS SDK from the very beginning.
Start with the very basics
You should learn Object Oriented Programming, this is mandatory and the most important thing. If you're not proficient in OOP techniques, take a programming course like this one from MIT: Object-Oriented Programming
This may sound obvious, but let's be clear. Swift is the new Apple programming language introduced in WWDC 2014 and it's designed to work with Cocoa frameworks. Objective-C is very mature, robust and well-understood, but it will probably die and be completely replaced by Swift in a future.
First, download this official Swift book that Apple made available on iTunes for free:
The Swift Language Reference
I've also took this quick cours frome Lynda.com
Swift Programming Language First Look
Then you can take the Stanford CS193P course before the famous Udemy one. With the Stanford course you’ll get a stronger Swift programming knowledge. Paul Hegarty (the teacher) emphasises the foundation of the most important concepts in OOP and MVC programming to develop iOS apps, while Rob’s course on Udemy goes right to development on the interface level, and assumes that the student already has all previous knowledge (and that’s not usually the case).
Go watch this one and you’ll see how great Paul is, by the way :): Stanford CS193P: Developing iOS 8 Apps with Swift
Start developing apps
This is where the Udemy comes in: Complete iOS Developer Course
Rob’s course is very good too, but it lacks on many important things like teaching “what” is really happening behind the code you are writing. Rob started using a beta version of Xcode when Swift was initially available and some videos contain fragments of code that doesn’t work in the final Xcode release, although he constantly updates them. Because Rob doesn’t teach you the foundations of Swift programming, you’ll end up copying and pasting code without knowing what you are really doing. There’s a lot of comments of some people going crazy in their lessons. What I really want to say is that Rob’s course works well when you have a strong Swift and programming knowledge.