A Swift introduction a.k.a Fun with Minions!

60
A Swift Introduction Natasha Murashev @NatashaTheRobot

description

Swift 1.0 introduction. Presented at Swift Hack Day http://swifthack.splashthat.com/. Playground file demo here: https://github.com/NatashaTheRobot/MinionMayhemPlayground

Transcript of A Swift introduction a.k.a Fun with Minions!

Page 1: A Swift introduction a.k.a Fun with Minions!

A Swift IntroductionNatasha Murashev @NatashaTheRobot

Page 2: A Swift introduction a.k.a Fun with Minions!
Page 3: A Swift introduction a.k.a Fun with Minions!

Agenda

• Swift Basics

• Play Time

• Next steps…

Page 4: A Swift introduction a.k.a Fun with Minions!

Swift Basics

Page 5: A Swift introduction a.k.a Fun with Minions!

Hello, World!

Page 6: A Swift introduction a.k.a Fun with Minions!
Page 7: A Swift introduction a.k.a Fun with Minions!
Page 8: A Swift introduction a.k.a Fun with Minions!

Type Inference

Page 9: A Swift introduction a.k.a Fun with Minions!
Page 10: A Swift introduction a.k.a Fun with Minions!
Page 11: A Swift introduction a.k.a Fun with Minions!
Page 12: A Swift introduction a.k.a Fun with Minions!
Page 13: A Swift introduction a.k.a Fun with Minions!
Page 14: A Swift introduction a.k.a Fun with Minions!

Optionals?

Page 15: A Swift introduction a.k.a Fun with Minions!
Page 16: A Swift introduction a.k.a Fun with Minions!
Page 17: A Swift introduction a.k.a Fun with Minions!
Page 18: A Swift introduction a.k.a Fun with Minions!
Page 19: A Swift introduction a.k.a Fun with Minions!
Page 20: A Swift introduction a.k.a Fun with Minions!
Page 21: A Swift introduction a.k.a Fun with Minions!
Page 22: A Swift introduction a.k.a Fun with Minions!
Page 23: A Swift introduction a.k.a Fun with Minions!

Downcasting

Page 24: A Swift introduction a.k.a Fun with Minions!
Page 25: A Swift introduction a.k.a Fun with Minions!
Page 26: A Swift introduction a.k.a Fun with Minions!
Page 27: A Swift introduction a.k.a Fun with Minions!
Page 28: A Swift introduction a.k.a Fun with Minions!

Functions

Page 29: A Swift introduction a.k.a Fun with Minions!
Page 30: A Swift introduction a.k.a Fun with Minions!
Page 31: A Swift introduction a.k.a Fun with Minions!
Page 32: A Swift introduction a.k.a Fun with Minions!
Page 33: A Swift introduction a.k.a Fun with Minions!
Page 34: A Swift introduction a.k.a Fun with Minions!
Page 35: A Swift introduction a.k.a Fun with Minions!
Page 36: A Swift introduction a.k.a Fun with Minions!
Page 37: A Swift introduction a.k.a Fun with Minions!
Page 38: A Swift introduction a.k.a Fun with Minions!
Page 39: A Swift introduction a.k.a Fun with Minions!

Play Time!

Page 40: A Swift introduction a.k.a Fun with Minions!

Playgrounds

• Experiment

• Learn

• Algorithm Development

• Fun

Page 41: A Swift introduction a.k.a Fun with Minions!
Page 42: A Swift introduction a.k.a Fun with Minions!

Next steps…

Page 43: A Swift introduction a.k.a Fun with Minions!

Everyone is a beginner

Page 46: A Swift introduction a.k.a Fun with Minions!

@NatashaTheRobot

• Swift Newsletter - swiftnews.curated.co

• NatashaTheRobot.com

• @NatashaTheRobot

Page 47: A Swift introduction a.k.a Fun with Minions!

Swift vs Objective-C

Swift: 118 days

Objective-C (with iPhone SDK): 6+ years

Objective-C (with Mac OS X): 13+ years

Objective-C (with NextStep): 20+ years

Page 48: A Swift introduction a.k.a Fun with Minions!

You have the opportunity to alter the future of iOS

Page 49: A Swift introduction a.k.a Fun with Minions!

Questions?@NatashaTheRobot

Page 50: A Swift introduction a.k.a Fun with Minions!

Additional Resources

Page 51: A Swift introduction a.k.a Fun with Minions!

WWDC14 Sessions: Swift Language

• Introduction to Swift

• Intermediate Swift

• Advanced Swift

Page 52: A Swift introduction a.k.a Fun with Minions!

WWDC14 Sessions: Integration with Objective-C

• Integrating Swift with Objective-C

• Swift Interoperability in Depth

Page 53: A Swift introduction a.k.a Fun with Minions!

WWDC14 Sessions: Swift Debugging

• Introduction to LLDB and the Swift REPL

• Advanced Swift Debugging in LLDB

Page 54: A Swift introduction a.k.a Fun with Minions!

WWDC14 Sessions: Playgrounds

• Swift Playgrounds

Page 55: A Swift introduction a.k.a Fun with Minions!

Swift iBooksUnofficial PDF Versions available

Page 56: A Swift introduction a.k.a Fun with Minions!

Tutorials

• Ray Wenderlich Swift Tutorials

• Treehouse: An Absolute Beginners Guide to Swift

• iOS Blog: Swift Tutorials

• NSScreencast Swift Videos

Page 57: A Swift introduction a.k.a Fun with Minions!

Websites

• We Heart Swift

• Code in Swift

• LearnSwift.tips

• Learn Swift

• Learn Swift Online

Page 58: A Swift introduction a.k.a Fun with Minions!

Blogs!

• Apple’s official Swift Blog

• Mike Ash

• Evan Swick

• Teton Technical

• Learn Programming iOS

• NatashaTheRobot

Page 59: A Swift introduction a.k.a Fun with Minions!

Accounts to Follow• @clattner_llvm

• @WeHeartSwift2

• @SwiftDevs

• @objectivec

• @SwiftStack_

• @iOSSwift

• @swiftLDN

• @NatashaTheRobot

• @louielouie

Page 60: A Swift introduction a.k.a Fun with Minions!

@iOSSwift