If you already tried teaching yourself iOS app development in the past but didn't quite make it because you couldn't get yourself into the intricacies of Objective-C, there's still hope. This hope comes in the form of Apple brand new programming language: Swift.
Much like my previous How To Teach Yourself articles, here is one comprehensive path for learning the Swift language and the iOS 8 platform. Interested in building great iPhone, iPad and maybe Apple Watch apps? Then read on...
What is Swift?
Swift is a new programming language made by Apple. It is designed for OS X, iOS and Apple Watch app development. First announced at WWDC 2014 on June 2, Swift was released officially on September 9, 2014. Right now, it is still a pretty new language but I don't think I'm mistaken if I say that in the future, this will become the de facto language for programming the Apple ecosystem and that it will ultimately replace Objective-C, an old and venerable language which first appeared in 1983, over 30 years ago.
Right now, there are many online courses, books and tutorials available for learning app development with Swift but there's no one stop shop to learn everything you'll need to become an app developer (except if you are already an experienced object-oriented programmer, then stop reading and go watch the iTunes U Stanford course on iOS 8. Everything you'll need is in there).
Where to go for a comprehensive learning?
So, here is the path that I would currently recommend to aspiring Swift developers eager to teach themselves:
Programming & Swift basics
First, and especially if you are new to programming or need a refresher, you'll want to learn some programming theory along with the basics of the Swift language. Team Treehouse has an excellent primer video course on the Swift language. Go register on the Team Treehouse website. If you use this referral link, you'll get a 50% discount on your first month. I don't think you'll need more than a month for following these courses: Swift Basics, Swift Functions and Optionals, Swift Enums and Structs and Object-Oriented Swift. These courses are taught by Amit Bijlani, an experienced mobile developer. Once you are done with these, it is time to move away from Treehouse. Of course, you can also follow the next Treehouse batch of courses on iOS development but I don't recommend them: they teach by mimic rather than giving an in-depth explanation of the concepts.
iOS 8 development basics: the design
When you code for an iOS device, you have to place an extra level of attention on how you design your app. A clumsy user experience or bad interface design are a common cause for Apple to reject your app from being published on the App Store. This is Apple, after all. The Overlords of design. I strongly recommend you learn this with Simon Allardice through his course at Lynda.com titled iOS App Development with Swift Essential Training. There, you will learn the intricacies of laying out your UI and connect it to your code, using Apple Xcode 6.
iOS 8 development basics: the SDK
Now that you should feel comfortable with building a UI for your app and use Table Views, Tab Bars and more, it is time to learn how to make your app do fun things! Beginning iPhone Development with Swift: Exploring the iOS SDK by David Mark, Jack Nutting & Kim Topley is your best bet. It will not only build on your UI crafting foundation, it will also teach you things like storing data on an iOS device, work with iCloud, Core Graphics, gestures, the camera, the accelerometer, the GPS and much more.
At this point, you should now be able to write cool apps, ready to be deployed on the App Store.
The web is loaded with resources on Swift and iOS development. Make sure you keep an eye out for new tutorials at Ray Wenderlich. Many of them are of great quality. Subscribe to Dave Verwer's iOS Dev Weekly newsletter as well. The information Dave presents is a goldmine.
Do you know any other excellent resource to learn iOS 8 development with Swift? Don't forget to Let me know. Happy learning!