BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Online Resources to Learn Apple's Swift Language [Updated Sept, 9 2014]

Online Resources to Learn Apple's Swift Language [Updated Sept, 9 2014]

Leia em Português

This item in japanese

Lire ce contenu en français

Bookmarks

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.

  • Apple's Swift Blog

    Possibly one the most precious resources out there to read the news about the language and in-depth posts about its features.

  • Swift Language Highlights

    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.

  • Build Tetris in Swift

    An online book that will guide you though the process of building a Tetris clone in Swift using SpriteKit

  • Interesting Swift Features

    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.

  • Swift language cheat sheet

  • 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.

  • Swift vs. Scala Comparison Sheet

  • 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.

  • Functional Swift

  • 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.

  • Exploring Swift Memory Layout

    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.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • There is one more community

    by niu tech,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    You can find all the resources and discussions at swiftlang,eu

  • Invalid link to swiftlang.eu

    by niu tech,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks for adding a reference to swiftlang.eu, but the link is invalid!

  • Another resource for Swift Tutorials

    by Swift Tuts,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    We provide another resource for Swift Tutorials on Swift-Tutorials.com. Please add it to your list. Any feedback is welcome!

  • Swift Dev Weekly

    by Ralf Rottmann,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I'd love it you could add Swift Dev Weekly at swiftdev.tips .

  • Other approach

    by Matt Nicholas,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Another approach that proved to be pretty useful to many students is to learn Swift by downloading the source code of existing apps and build new things on top of those. You get to see how most of the stuff is being done, and you get familiar with what needs to be done by adding more features to the initial backbone. There's a lot of open-source Github projects that can be useful for this, as well as more complete paid options (such iosapptemplates.com, for example)

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT