What is Swift?
In early June, 2014 Apple dropped a bomb on developers worldwide, unveiling Swift, a new programming language and set of tools for creating dynamic, fast iOS mobile and OS X desktop applications. Although only recently made public, Swift is among the hottest topics in software development. Swift has rapidly become the preferred language for development of iOS and OS X applications.
Through heavy use of examples, and coding via the Read Eval Print Loop (REPL), Playgrounds, and test scaffolding, we’ll spend a day getting to know the Swift programming language. We'll focus on fostering a discussion of Swift via hands-on experimentation.
This course is a Swift basics primer, taught via examples, participation, and discussion. Other classes can teach you how to build apps, and involve a giant (and quite wonderful) world of tools, languages, techniques, and libraries. We’re not going to do that. This course focuses only on the Swift programming language.
Are you familiar with at least one programming language? Do you enjoy programming or wish you did? Are you interested in or do you have experience developing iOS or OS X applications? If so, this class is for you.
Join in the discussion of what topics should be included in this course, on the course wiki.
Pull requests and other forms of collaboration welcome.
- currying
- (PLAYGROUNDS/LSB_C005_Currying.playground)
- pattern matching
- (PLAYGROUNDS/LSB_013_Enumerations.playground)
- initializers
- (PLAYGROUNDS/LSB_011_Classes.playground)
- struct and class differences
- (PLAYGROUNDS/LSB_B003_ClassesAndStructs.playground)
- immutability
- (PLAYGROUNDS/LSB_002_VariablesAndConstants.playground)
- ? ! and optionals
- (PLAYGROUNDS/LSB_009_Optionals.playground)
- nullability safety rules
- (PLAYGROUNDS/LSB_009_Optionals.playground)
- trailing closures
- (PLAYGROUNDS/LSB_008_Closures.playground)
- internal and external parameter names, first parameter exception to the rule
- (PLAYGROUNDS/LSB_011_Classes.playground)
- destructuring
- (PLAYGROUNDS/LSB_011_Classes.playground)
- generics
- (PLAYGROUNDS/LSB_017_Generics.playground)
- how to read function signatures, higher order functions
- (PLAYGROUNDS/LSB_007_Functions.playground)
- list comprehensions
- (Something like this... PLAYGROUNDS/LSB_B019_ApplicativeFunctorsArrays.playground)
- Please see our "Resources" list.