Recipe to become a valuable Swift developer
I think the time is finally here to (re)think your approach to Swift. It has been in the wild for long enough time to see how smart step was to make it from scratch and publish it as open sourced. In short: it was really smart. I purposely wrote “Swift developer” in the title, since it seem to break out into the wild, it is not tied to iOS or OS X development anymore.
The skyrocketed popularity, the effort what IBM made for give you a complete toolset and the rumours that Google and Facebook both are playing with the idea to switch to it, all of that points in one direction: Swift knowledge will be valuable and it is worth to learn it in long term.
So, here is my updated list of resources for getting a good grasp of the language:
Step 1: For beginners, who has never touched any code before:
Foundations of Programming: Fundamentals
Foundations of Programming: Object-Oriented Design
Introduction to Computer Science
Step 2: For individuals, who has some knowledge about OOP principles, program structures:
Swift Programming: The Big Nerd Ranch Guide
Since the most of the videos of WWDC talks are also available on internet I would strongly recommend to check the videos section of the Apple Developer site. Videos only can be played on an iOS device or in Safari, but Apple made the related content available in YouTube as well, so it might be good to subscribe to the official Swift Language channel. This video is a very good start, although I wouldn’t recommend for total beginners.
If you have particular interest in iOS or OS X development:
Developing iOS 8 Apps With Swift
iOS Programming: The Big Nerd Ranch Guide 5th Edition
Cocoa Programming: For Mac OS X 5th Edition
Please note, that only the 5th editions of the BNR books above were written about the Swift language!
Step 3: For individuals who want to be a better programmer:
Head First Design Patterns – O’Reilly Media
Algorithms, Part I – Princeton University | Coursera
Algorithms, Part II – Princeton University | Coursera
Nowadays you don’t have to own a Mac to start with Swift. You can download the latest version for Linux from the website of the project: http://swift.org
As I mentioned IBM also put together nice resource pack to support the language, you can check out at https://developer.ibm.com/swift/ . I think the most important is the web based IBM Swift Sandbox ,and the new web front- and back-end framework the Kitura.
Although the language itself is still in a rapid change and development, which might cause some compatibility problems, the 3.0 version will be very promising, won’t miss it out.
Happy learning and coding!