Swift: The Basics

27
Brooklyn Swift Developers Meetup June 17, 2014 Swift: The Basics

description

June 2014 Brooklyn Swift Developers Meetup: http://www.meetup.com/Brooklyn-Swift-Developers/events/187580592

Transcript of Swift: The Basics

Page 1: Swift: The Basics

Brooklyn Swift Developers Meetup June 17, 2014

Swift: The Basics

Page 2: Swift: The Basics

WWDC 2014

Brooklyn Swift Developers Meetup

Page 3: Swift: The Basics

“And One More Thing…”

Brooklyn Swift Developers Meetup

Page 4: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 5: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 6: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 7: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

“HOLY FUCK”- me

Page 8: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

“FUCK YEAH”- me 5 min later

Page 9: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 10: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 11: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 12: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 13: Swift: The Basics

Early Reactions

Brooklyn Swift Developers Meetup

Page 14: Swift: The Basics

Swift

Brooklyn Swift Developers Meetup

Page 15: Swift: The Basics

Swift

Brooklyn Swift Developers Meetup

Convenience of a Modern Scripting language with the Performance of Objective-C

Page 16: Swift: The Basics

Swift vs. Objective-C

Brooklyn Swift Developers Meetup

Page 17: Swift: The Basics

Swift vs. Objective-C

Brooklyn Swift Developers Meetup

Namespaces• Class names scoped to module

(ie. framework)• No more class prefixes

Page 18: Swift: The Basics

Swift vs. Objective-C

Brooklyn Swift Developers Meetup

Type Safety• Compiler performs type checks

to find mismatched types• Allows for type inference

var heyStr = “Hey”

Page 19: Swift: The Basics

Swift vs. Objective-C

Brooklyn Swift Developers Meetup

Closures• Nameless function constructed

as another function's argument• Equivalent to Blocks

numbers.map({ (number: Int) -> Int in let result = 3 * number return result})

Page 20: Swift: The Basics

Swift vs. Objective-C

Brooklyn Swift Developers Meetup

Tuples• Group multiple values to single value• Supports multiple typeslet someTuple = (10, true, “Hello”)// type (Int, Bool, String)let anotherTuple = (arg1: 100, arg2: “Hi”)// anotherTuple.arg1, anotherTuple.arg2

Page 21: Swift: The Basics

Playground

Brooklyn Swift Developers Meetup

Page 22: Swift: The Basics

Playground

Brooklyn Swift Developers Meetup

• Interactive coding environment for testing• Immediate feedback

Page 23: Swift: The Basics

Brooklyn Swift Developers Meetup

Page 24: Swift: The Basics

DEMO

Brooklyn Swift Developers Meetup

Page 25: Swift: The Basics

Questions?

Brooklyn Swift Developers Meetup

Page 26: Swift: The Basics

Resources

Brooklyn Swift Developers Meetup

• The Swift Programming Languagehttps://itunes.apple.com/us/book/swift-programming-language/id881256329?mt=11

• WWDC 2014 Videoshttps://developer.apple.com/videos/wwdc/2014

• Ray Wenderlich Tutorialshttp://www.raywenderlich.com/tutorials

• Swift Video Tutorialshttp://swiftvideotutorials.com

Page 27: Swift: The Basics

Github: https://github.com/marcdownTwitter: @creativemessdev!

Source: https://github.com/marcdown/SwiftPlayground

Brooklyn Swift Developers Meetup

Thanks!