Apple introduction of Swift, a new programming language for the OS X and iOS platform, has sparked some interest from the developers' community. In just a couple of days, almost 500 questions have been already asked on Stack Overflow, while a GitHub query shows that there are already about 350 repositories written in Swift.
For anyone interested in learning about the language, the Web offers useful resources to start:
-
The Swift Programming Language
Apple has made freely available on iTunes "The Swift Language Reference" ebook. Accessing iTunes requires an Apple device, though, but there is a chance to learn the language for anyone else, too. The same content is indeed also available on Apple website in HTML format. Given the novelty of the language, this ebook is definitely the fundamental resource and covers all the aspects of the language, including interoperability with C/Objective-C.
-
Possibly one the most precious resources out there to read the news about the language and in-depth posts about its features.
-
From RayWenderlich.com, a short presentation of some of the new features that Swift introduces from the perspective of an Objective-C programmer: type inference, generics, switch statements, and constness.
-
Ray Wenderlich's Swift Tutorials
The collection of Swift tutorials available on Ray Wenderlich's site is already big and covers the basics of the language, as well as simple apps written in Swift and using several iOS frameworks.
-
An online book that will guide you though the process of building a Tetris clone in Swift using SpriteKit
-
Mike Ash explores "a few Swift features that are interesting and unusual from the perspective of Objective-C."
-
How to use Objective-C Classes in Swift
Step by step guide by Mark Petherbridge describing how you go about creating a bridging header to be able to use an Objective-C class from Swift.
-
Developing iOS Apps Using Swift
A five-part series tutorial by Jameson Quave to start developing iOS apps with Swift from the ground up. The tutorial covers the following topics: creating an "hello world" app; making web API requests and parsing the resulting JSON; best practices using protocols and delegates; interactive table views; async image loading and caching.
-
Another resource from RayWenderlich.com summarizing the most important Swift syntax in one page. It covers: class implementation, methods declaration, object instantiation/use, variable declaration, control flow, strings/array/dictionary quick examples.
-
Comparison between Swift and Scala syntaxes covering control flow structures, expressions, declarations, patterns, and types.
-
C# vs. Swift Syntax Comparison
A basic comparison of C# and Swift Syntax. Also, don't miss the discussion on r/programming.
-
The aim of this blog is to understand how functional elements of F# and Scala can (or can't) be implemented in Swift.
-
Higher Order Functions in Swift
A post dedicated to closures in Swift and how they can be used to build filter, map, and reduce sequence operations.
-
Swiftz: Functional programming in Swift
A library for functional programming that defines purely functional data structures and functions.
-
Mike Ash explains how Swift lays out objects and classes in memory. Also available is part 2 of this series.
-
Building games in Swift [NEW]
Embedded in this large iOS/Android resource list, you will find many pointers to Swift tutorials to build games or use game-oriented iOS frameworks such as SpriteKit and Metal.
-
A Simple Swift Tutorial: Playgrounds and Fundamentals [NEW]
A beginner's guide to Playgrounds in Xcode.
You can also find a background introduction to the language and its relationship with the LLVM compiler in this Alex Blewitt's post on InfoQ.
Swift can presently only be used from within the Xcode 6 developer preview that Apple has published for all developers registered with an Apple Developer Program.