If you’ve decided that this is a good time to get better acquainted with Swift, and already have some coding experience using another language, such as AppleScript, Basic, or C, then you will be less interested in courses which start from scratch. In this article, I list those resources which may be of interest. I have limited them to those which are of relevance to macOS (many are aimed primarily at iOS development), and those working in Swift 3. You’ll find a lot of Swift 2 material out there still, but I recommend that you avoid it if possible, or you’ll have to undergo another transition from Swift 2 to 3.
Starting points
Swift 3.0.1 is documented here, which includes the full language guide and reference. Details on using Swift 3.0.1 with Cocoa and Objective-C are provided here. This includes a complete walkthrough of making your first Swift project using Xcode 8.0 and later. If you have not used Xcode recently, this is very helpful. The Swift Standard Library for Xcode 8.1 is documented here.
Apple’s Swift resources guide covers only those provided by Apple, and gives access to relevant videos from WWDC, and two iTunes U courses (both targeted at iOS, though). It also lists the surprisingly little source code available from Apple; Lister is probably the best of these, and includes macOS source.
Apple’s official Swift blog has some useful articles, although most are aimed at those already fluent in Swift, and older articles are inevitably about earlier versions of the language.
Books
Apple’s free iBooks, available from the iTunes Store or the iBooks app, are The Swift Programming Language (for 3.0.1 currently), and Using Swift with Cocoa and Objective-C. These are iBooks versions of the online guides above, and Apple keeps them up to date with the current version of the language.
In Apple’s Everyone Can Code series, App Development with Swift is intended for class use by those with no experience in programming, but has a lot of valuable information. Being a book it is much easier to skim through the introductory chapters. However, its free Teacher Guide has nothing of interest, unless you’re using the book for teaching.
Mastering Swift 3 by Jon Hoffman, detailed here, is available in print (£30.99) and Kindle (£23.74) from Amazon, and from Apple’s iBook store for £24.99. I have a copy, and can recommend it wholeheartedly. It is designed to be used with Xcode’s Swift 3 playgrounds, but concentrates on the language and its support libraries, and not macOS. So if you want to know how to write a Mac app with a GUI, you will need more than this.
Erica Sadun’s Playground Secrets and Power Tips, available from Apple’s iBook store, is an essential read for anyone wishing to use playgrounds in Xcode or on iOS. This is the closest that I have found to a proper user manual, and is supported by free playgrounds available from GitHub.
Tutorials
Eight free Swift 3 tutorials are available from Ray Wenderlich and contributors.
Hacking with Swift, Hacking with macOS, in Swift 3 ($40), and other courses are listed here. Most have a free introductory section available.
Cheat sheets
Ray Wenderlich’s free cheat sheet is here.
There is another cheat sheet available cheaply in Apple’s iBooks store.
Example code
Ray Wenderlich’s Swift Algorithm Club on GitHub provides many classic algorithms coded in Swift, although most remain in Swift 2.
Coding environments
Swift Playgrounds for iPad (iOS App Store, free) may start you at a beginner level, but if you can spare the time to enjoy the initial game-based lessons and move briskly through them, it does get onto more serious stuff. I tried jumping ahead, but maybe I went a little too far, and started to flounder, although I had been enjoying the early lessons. Like most well-designed courses, key concepts are introduced steadily throughout the lessons, so skipping many of the earlier ones can present a challenge.
Xcode (Mac App Store, free) also contains its Swift playgrounds, but these are not guided. They are an excellent way of working through examples in other resources, though. Make sure that you are running at least version 8.1, so that you get Swift 3.
Scriptarian is a unique app which uses Swift with AppleEvent hooks as a scripting language, much like AppleScript. I have only just bought a copy for $10, so I cannot give any more detailed assessment yet, but it does work very well on macOS Sierra, and looks really exciting. It is available for purchase from here
Implementations
Apple’s Open Source Swift project, which enables you to use the language on Linux (Ubuntu), is here. Being Open Source, this also gives access to a lot of Swift source code. Interesting projects here include server APIs.
Source code and applications
IBM’s Kitura is a web framework for building Swift applications, and is Open Source.
IBM Cloud Tools for Swift is required for Kitura, but can be used separately.
If you know of other good resources to help someone use Swift 3 on macOS, please post them as comments, and I will incorporate them here in due course.
Last updated 21 November 2016.