49

Click here to load reader

Hola Swift

Embed Size (px)

DESCRIPTION

Apple anunció en la WWDC14 un nuevo lenguaje de programación llamado Swift, que ha sido muy bien recibido por la comunidad de desarrolladores. Swift se presenta como un lenguaje más poderoso que Objective-C y mucho más fácil de aprender. En esta sesión pondremos a prueba estas premisas y charlaremos sobre las principales características de este nuevo lenguaje. Si aun no estas montado en el tren de desarrollo de aplicaciones móviles o si querías empezar a desarrollar para iOS y aun no te decidias, este es el momento y el lenguaje adecuado para ingresar a este fabuloso mundo. Ven y descubre todo lo que tu telefono del futuro puede hacer por ti y por todos. Semblanza del conferencista: Sergio Brito es CTO en Activ Development Experiences, empresa especializada en la capacitación y desarrollo con tecnologías líderes. Ha impartido clases y capacitación por más de 8 años en distintos países. Es Adobe Community Professional y coordinador del Grupo de Usuarios RIActive. Sergio es entusiasta de aprender sobre nuevas tecnologías y lenguajes, y actualmente se especializa en el desarrollo de aplicaciones móviles.

Citation preview

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