hola swift !

49
Hola Swift! Sergio Brito @yacaFx

Upload: sergio-brito

Post on 01-Nov-2014

665 views

Category:

Technology


4 download

DESCRIPTION

Conociendo el nuevo lenguaje de programación de Apple, Swift!

TRANSCRIPT

Page 1: Hola Swift !

Hola Swift!

Sergio Brito @yacaFx

Page 2: Hola Swift !

Developing Experiences

activ.com.mx

Page 3: Hola Swift !

¿Quién soy?

CTO en Activ Developing Experiences

Adobe Certified Instructor & Expert

RIActive Community Manager

49ers Fan&Player

[email protected] @yacaFx

Page 4: Hola Swift !

Desarrollo

Capacitación

Consultoría

Developing Experiences

Page 5: Hola Swift !

SwiftModerno e interactivo SeguroRápido y poderoso

Playgrounds Beta 2

Beta 2developer.apple.com/swift

Page 6: Hola Swift !
Page 7: Hola Swift !

Beta 2

http://goo.gl/xOos0X http://goo.gl/BclW5n

Page 8: Hola Swift !

Beta 2

Documentación oficial: http://goo.gl/YCneJ1

Developer

Page 9: Hola Swift !

Beta 2

;

Page 10: Hola Swift !

Beta 2

Variables

var myVar: String = “Hola SG”

var myVar = “Hola SG”

var nombre = “Sergio”, apellido = “Brito”

Page 11: Hola Swift !

Beta 2

Constantes

let myConst: String = “Hola SG”

let myVar = 7

Page 12: Hola Swift !

Beta 2

Unicode

var 👻 = "Scary!"

var bear = “🐻"

let π = 3.1416

Page 13: Hola Swift !

Beta 2

Concatenación

var 👻 = "Scary!"

var bear = “🐻"

var sopresa = bear + 👻

Page 14: Hola Swift !

Beta 2

Interpolación de cadenas

let a = 5, b = 10

var resultado = "\(a) veces \(b) es \(a*b)”

// 2 veces 5 es 10

Page 15: Hola Swift !

Beta 2

Arreglos

var cursos = [“html5”, “Swift”, “Android”]

println(cursos[1])

//Swift

Page 16: Hola Swift !

Beta 2

Diccionarios

var ciudades<String, String> = [“Tabasco”: “Villahermosa”, “Tepic”: ”Nayarit”]

var ciudades = [“Tabasco”: “Villahermosa”, “Tepic”: ”Nayarit”]

println(ciudades[“Tabasco”])

// Villahermosa

Page 17: Hola Swift !

Beta 2

Condiciones

 if comidas > 3    {       felicidad += 1    }    else    {       depresión += 1    }

Page 18: Hola Swift !

Beta 2

Nil

var nombre: String? = “Sergio”

nombre = nil

Page 19: Hola Swift !

Beta 2

Nil

var = nombre: String? = “Sergio”

nombre = nil

if let dato = nombre { println(“No es nil”) } else { println(“Si es nil”) }

Page 20: Hola Swift !

Beta 2

Switch

switch(heroe){ case “batman”: println(“Comic Gratis”) case “Robin” println(“No hay comic”) }

var heroe = “Batman”

Page 21: Hola Swift !

Beta 2

Switch

switch(heroe){ case “batman”: println(“Comic Gratis”) case “Robin”, “Ala Nocturna” println(“No hay comic”)

default: println(“Heroes no incliudos”) }

var heroe = “Batman”

Page 22: Hola Swift !

Beta 2

Ciclos

var empresas = ["Apple", "Adobe", "Google", "BlackBerry", "SG"]

for empresa in empresas{ println(“La empresa es \(empresa)") }

Page 23: Hola Swift !

Beta 2

Ciclos y Rangos

for numero in 1…4{ println(“ \(numero) vez de 4”) }

1 vez de 4 2 vez de 4 3 vez de 4 4 vez de 4

Page 24: Hola Swift !

Beta 2

Ciclos y Diccionarios

let edades = [“Hugo”:”20”,“Paco”:”23”,“Luis”:”25”,]

for (persona, edad) in edades{ println(“ \(persona) tiene \(edad) años”) }

Hugo tiene 20 años Paco tiene 23 años Luis tiene 25 años

Page 25: Hola Swift !

Beta 2

Funciones

func saludar( ){ println(“Bazinga!”) }

Page 26: Hola Swift !

Beta 2

Funciones

func saludar( ){ println(“Bazinga!”) }

saludar( )

Page 27: Hola Swift !

Beta 2

Funciones y parámetros

func saludar(nombre: String ){ println(“Hola \(nombre)”) }

saludar(“Pancho Pistolas”)

//Hola Pancho Pistolas

Page 28: Hola Swift !

Beta 2

Funciones y parámetros por default

func saludar(nombre: String = “a todos”){ println(“Hola \(nombre)”) }

saludar()

//Hola a todos

Page 29: Hola Swift !

Beta 2

Funciones y retorna valores

func saludar(nombre: String = “a todos”) -> String{ return “Hola ” + nombre }

let saludos = saludar()

Page 30: Hola Swift !

Beta 2

Funciones y retorna valores

func saludar(nombre: String = “a todos”) -> String{ return “Hola ” + nombre }

//let saludos = saludar() let saludos: String = saludar()

Page 31: Hola Swift !

Beta 2

Funciones y retorna valores

func saludar(nombre: String = “a todos”) -> String{ return “Hola ” + nombre }

let saludos = saludar()

println(saludos)

//Hola a todos

Page 32: Hola Swift !

Beta 2

Funciones y Tuplas

func calculos() -> (String, Int){ //calculos…. return (“Total”, 132) }

Page 33: Hola Swift !

Beta 2

Funciones y retornar múltiples valores

func calculos() -> (String, Int){ //calculos…. return (“Total”, 132) }

let (mensaje, cantidad) = calculos()

println("El \(mensaje) es: $ \(cantidad) pesos")

//El total es: $132 pesos

Page 34: Hola Swift !

Beta 2

Funciones y retornar valores nombrados

func calculos() -> (mensaje: String, cantidad: Int){ //calculos…. return (“Total”, 132) }

let resultado = calculos()

println("El \(resultado.mensaje) es: $ \(resultado.cantidad) pesos")

//El total es: $132 pesos

Page 35: Hola Swift !

Beta 2

Clases

class Transporte{

}

Page 36: Hola Swift !

Beta 2

Herencia

class Transporte{

}

class Bici: Transporte{

}

Page 37: Hola Swift !

Beta 2

Propiedades

class Transporte{ var llantas = 0 }

Page 38: Hola Swift !

Beta 2

Propiedades Calculadas / Computed Properties

class Transporte{ var llantas = 0 var descripcion: String { get { return “Tiene \(llantas) llantas" } } }

Page 39: Hola Swift !

Beta 2

Propiedades Calculadas / Computed Properties

class Transporte{ var llantas = 0 var descripcion: String {

return “Tiene \(llantas) llantas" }

Page 40: Hola Swift !

Beta 2

Instancias

let miTransporte = Transporte()

let miTransporte: Transporte = Transporte()

Page 41: Hola Swift !

Beta 2

Sintaxis de puntos

let miTransporte = Transporte()

println(miTransporte.descripcion)

Page 42: Hola Swift !

Beta 2

Override

override var descripcion: String { return super.descripcion + ", \(velocidad) kmh" }

Page 43: Hola Swift !

Beta 2

Estructuras

struct tamaño { var ancho, alto: Double }

Page 44: Hola Swift !

Beta 2

Struct o Class?

a. Una estructura no puede heredar b. Estructura paso por valor c. Clase paso por referencia

Page 45: Hola Swift !

Beta 2

También…

b. Generics struct Stack<T>{ … }

a. Property observers willSet {}didSet {}

Page 46: Hola Swift !

Beta 2

También…

c. Extensions extension tamaño { func incrementar(factor: Int) { ancho *= factor alto *= factor }}

Page 47: Hola Swift !

Esto es Swift!Moderno e interactivo SeguroRápido y poderoso

Playgrounds Beta 2

Beta 2developer.apple.com/swift

Page 48: Hola Swift !

Developing Experiences

[email protected]

@yacaFx

Q&A

activ.com.mx

@activmx

Page 49: Hola Swift !

Gracias