July 20–24, 2015
Portland, OR

Programming with Swift: Solid fundamentals, advanced language features, and open source libraries

Jonathon Manning (Secret Lab Pty. Ltd.), Tim Nugent (lonely.coffee)
9:00am–5:00pm Monday, 07/20/2015
Training E147/148
Average rating: ****.
(4.85, 13 ratings)

This training continues on to Tuesday.

Prerequisites

No experience is needed in any specific language, or in Mac or iOS development, but you should be reasonably comfortable in Java, C#, C++, Python, Ruby, or other similar programming languages.

Computer Requirements

You’ll need a Mac laptop running OS X 10.9.4 or later, and have Xcode 6.2 or later installed.

Overview

In the next several years, Swift will become the language of choice for developing iOS and OS X apps and services. Introduced in June 2014, Swift is a new language designed for power, safety, and flexibility. By taking inspiration from a diverse range of languages including Objective-C, Rust, Python, C#, and Ruby, Swift provides you with an extremely capable toolkit for writing great code very quickly.

If you’re involved in writing anything to do with iPhones, iPads, or Macs, you need to get familiar with Swift. This training will bring you from zero Swift knowledge all the way up to a deep understanding of the subject.

In this training, you’ll start by getting up to speed with the language, and getting familiar with both the basics as well as exploring some of the more sophisticated language features. You’ll then start exploring the details of Swift and its standard library; finally, you’ll learn and start using the huge array of open source libraries and toolkits that already exist for Swift.

By the end of this training, you’ll be comfortable using Swift in your own projects, no matter what their size.

What you’ll learn

By the end of this training, you will have an in-depth understanding of advanced language features, and will be able to use them to solve real-world problems extremely efficiently.

We’ll begin with the tools that you’ll be using to write Swift code, and start working with the Swift syntax. We’ll then do a series of deep dives into how Swift handles common programming topics like object-orientation, access control, and interoperation with other languages. Finally, we’ll look at how to use Swift to build real-world applications, using both Cocoa and Cocoa Touch as well as open-source libraries.

Topics

Among the many, many different topics that we’ll be covering in this training, you’ll find:

  • Playgrounds
  • Swift’s syntax
  • The niftiest little type system
  • Closures and functions
  • Classes and protocols
  • Generics
  • Custom operators
  • Literal convertibles
  • Integrating with C and Objective-C
  • Open-source swift libraries
  • Working with Cocoa and Cocoa Touch
  • Solving common problems using Swift

Audience

This training is aimed at any programmer who wants to either learn Swift, or who wants to extend their existing Swift knowledge. You don’t have to have to have any knowledge about coding for these platforms, and we won’t be doing anything that’s specific to either.

Photo of Jonathon Manning

Jonathon Manning

Secret Lab Pty. Ltd.

Jon Manning is the co-founder of Secret Lab, an independent game development studio based in Hobart, Tasmania, Australia. He’s worked on apps of all sorts, ranging from iPad games for children to instant messaging clients. He’s a mobile development guru, and frequently finds himself gesticulating wildly in front of classes full of eager-to-learn developers. He’s written lots of books for O’Reilly Media (and previously Wiley), and recently released Swift Development with Cocoa. He’s currently working on books on Android design, game development with Unity, the Kerbal Space Program game, and the Apple Watch.

Photo of Tim Nugent

Tim Nugent

lonely.coffee

Tim Nugent pretends to be a mobile app developer, game designer, PhD student, and now he even pretends to be an author (he co-wrote the latest update to Learning Cocoa with Objective-C, Swift Development with Cocoa, and the upcoming The Kerbal Book for O’Reilly). When he isn’t busy avoiding being found out as a fraud, he spends most of his time designing and creating little apps and games he won’t let anyone see. Tim spent a disproportionately long time writing this tiny little bio, most of which was trying to stick a witty sci-fi reference in, before he simply gave up. Tim can be found as @The_McJones on Twitter. He is an avid board game player.