SlideShare una empresa de Scribd logo
Hola Swift!
Sergio Brito
@yacaFx
Developing Experiences
activ.com.mx
¿Quién soy?
CTO en Activ Developing
Experiences
Adobe Certified
Instructor
& Expert
RIActive Community
Manager
49ers Fan&Player
sergiobrito@activ.com.mx
@yacaFx
Desarrollo
Capacitación
Consultoría
Developing Experiences
Swift
Moderno e interactivo SeguroRápido y poderoso
Playgrounds Beta 2
Beta 2developer.apple.com/swift
Beta 2
http://goo.gl/xOos0X http://goo.gl/BclW5n
Beta 2
Documentación oficial: http://goo.gl/YCneJ1
Developer
Beta 2
;
Beta 2
Variables
var myVar: String = “Hola SG”
var myVar = “Hola SG”
var nombre = “Sergio”, apellido = “Brito”
Beta 2
Constantes
let myConst: String = “Hola SG”
let myVar = 7
Beta 2
Unicode
var 👻 = "Scary!"
var bear = “🐻"
let π = 3.1416
Beta 2
Concatenación
var 👻 = "Scary!"
var bear = “🐻"
var sopresa = bear + 👻
Beta 2
Interpolación de cadenas
let a = 5, b = 10
var resultado = "(a) veces (b) es (a*b)”
// 2 veces 5 es 10
Beta 2
Arreglos
var cursos = [“html5”, “Swift”, “Android”]
println(cursos[1])
//Swift
Beta 2
Diccionarios
var ciudades<String, String> = [“Tabasco”: “Villahermosa”, “Tepic”: ”Nayarit”]
var ciudades = [“Tabasco”: “Villahermosa”, “Tepic”: ”Nayarit”]
println(ciudades[“Tabasco”])
// Villahermosa
Beta 2
Condiciones
 if comidas > 3
   {
      felicidad += 1
   }
   else
   {
      depresión += 1
   }
Beta 2
Nil
var nombre: String? = “Sergio”
nombre = nil
Beta 2
Nil
var = nombre: String? = “Sergio”
nombre = nil
if let dato = nombre
{
println(“No es nil”)
}
else
{
println(“Si es nil”)
}
Beta 2
Switch
switch(heroe){
case “batman”:
println(“Comic Gratis”)
case “Robin”
println(“No hay comic”)
}
var heroe = “Batman”
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”
Beta 2
Ciclos
var empresas = ["Apple", "Adobe", "Google", "BlackBerry", "SG"]
for empresa in empresas{
println(“La empresa es (empresa)")
}
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
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
Beta 2
Funciones
func saludar( ){
println(“Bazinga!”)
}
Beta 2
Funciones
func saludar( ){
println(“Bazinga!”)
}
saludar( )
Beta 2
Funciones y parámetros
func saludar(nombre: String ){
println(“Hola (nombre)”)
}
saludar(“Pancho Pistolas”)
//Hola Pancho Pistolas
Beta 2
Funciones y parámetros por default
func saludar(nombre: String = “a todos”){
println(“Hola (nombre)”)
}
saludar()
//Hola a todos
Beta 2
Funciones y retorna valores
func saludar(nombre: String = “a todos”) -> String{
return “Hola ” + nombre
}
let saludos = saludar()
Beta 2
Funciones y retorna valores
func saludar(nombre: String = “a todos”) -> String{
return “Hola ” + nombre
}
//let saludos = saludar()
let saludos: String = saludar()
Beta 2
Funciones y retorna valores
func saludar(nombre: String = “a todos”) -> String{
return “Hola ” + nombre
}
let saludos = saludar()
println(saludos)
//Hola a todos
Beta 2
Funciones y Tuplas
func calculos() -> (String, Int){
//calculos….
return (“Total”, 132)
}
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
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
Beta 2
Clases
class Transporte{
}
Beta 2
Herencia
class Transporte{
}
class Bici: Transporte{
}
Beta 2
Propiedades
class Transporte{
var llantas = 0
}
Beta 2
Propiedades Calculadas / Computed Properties
class Transporte{
var llantas = 0
var descripcion: String {
get {
return “Tiene (llantas) llantas"
} }
}
Beta 2
Propiedades Calculadas / Computed Properties
class Transporte{
var llantas = 0
var descripcion: String {
return “Tiene (llantas) llantas"
}
Beta 2
Instancias
let miTransporte = Transporte()
let miTransporte: Transporte = Transporte()
Beta 2
Sintaxis de puntos
let miTransporte = Transporte()
println(miTransporte.descripcion)
Beta 2
Override
override var descripcion: String {
return super.descripcion + ", (velocidad) kmh"
}
Beta 2
Estructuras
struct tamaño {
var ancho, alto: Double
}
Beta 2
Struct o Class?
a. Una estructura no puede heredar
b. Estructura paso por valor
c. Clase paso por referencia
Beta 2
También…
b. Generics
struct Stack<T>{
…
}
a. Property observers

willSet {



}

didSet {



}
Beta 2
También…
c. Extensions

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

}
Esto es Swift!
Moderno e interactivo SeguroRápido y poderoso
Playgrounds Beta 2
Beta 2developer.apple.com/swift
Developing Experiences
sergiobrito@activ.com.mx
@yacaFx
Q&A
activ.com.mx
@activmx
Gracias

Más contenido relacionado

Más de Sergio Brito

NgRx 101 Connect.Tech 2019
NgRx 101   Connect.Tech 2019NgRx 101   Connect.Tech 2019
NgRx 101 Connect.Tech 2019Sergio Brito
 
Design patterns for TypeScript and other languages
Design patterns for TypeScript and other languagesDesign patterns for TypeScript and other languages
Design patterns for TypeScript and other languagesSergio Brito
 
Gestión de proyectos web y móviles
Gestión de proyectos web y móvilesGestión de proyectos web y móviles
Gestión de proyectos web y móvilesSergio Brito
 
Entrevista a un programador JavaScript
Entrevista a un programador JavaScriptEntrevista a un programador JavaScript
Entrevista a un programador JavaScriptSergio Brito
 
Conociendo Angular 2
Conociendo Angular 2Conociendo Angular 2
Conociendo Angular 2Sergio Brito
 
Welcome to the RIAworld
Welcome to the RIAworldWelcome to the RIAworld
Welcome to the RIAworldSergio Brito
 
Games, Develop & Html5 for BlackBerry PlayBook
Games, Develop & Html5 for BlackBerry PlayBookGames, Develop & Html5 for BlackBerry PlayBook
Games, Develop & Html5 for BlackBerry PlayBookSergio Brito
 
Improve your Flash-based RIA with VoIP
Improve your Flash-based RIA with VoIPImprove your Flash-based RIA with VoIP
Improve your Flash-based RIA with VoIPSergio Brito
 
High performance ria teams
High performance ria teamsHigh performance ria teams
High performance ria teamsSergio Brito
 
Flash 2 dev bbp-laybook
Flash 2 dev bbp-laybookFlash 2 dev bbp-laybook
Flash 2 dev bbp-laybookSergio Brito
 
Desarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRDesarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRSergio Brito
 
Administración de Proyectos Flash en el Flat
Administración de Proyectos Flash en el FlatAdministración de Proyectos Flash en el Flat
Administración de Proyectos Flash en el FlatSergio Brito
 
Dale Stamina A Tu Flex App Con Amfphp
Dale Stamina A Tu Flex App Con AmfphpDale Stamina A Tu Flex App Con Amfphp
Dale Stamina A Tu Flex App Con AmfphpSergio Brito
 

Más de Sergio Brito (13)

NgRx 101 Connect.Tech 2019
NgRx 101   Connect.Tech 2019NgRx 101   Connect.Tech 2019
NgRx 101 Connect.Tech 2019
 
Design patterns for TypeScript and other languages
Design patterns for TypeScript and other languagesDesign patterns for TypeScript and other languages
Design patterns for TypeScript and other languages
 
Gestión de proyectos web y móviles
Gestión de proyectos web y móvilesGestión de proyectos web y móviles
Gestión de proyectos web y móviles
 
Entrevista a un programador JavaScript
Entrevista a un programador JavaScriptEntrevista a un programador JavaScript
Entrevista a un programador JavaScript
 
Conociendo Angular 2
Conociendo Angular 2Conociendo Angular 2
Conociendo Angular 2
 
Welcome to the RIAworld
Welcome to the RIAworldWelcome to the RIAworld
Welcome to the RIAworld
 
Games, Develop & Html5 for BlackBerry PlayBook
Games, Develop & Html5 for BlackBerry PlayBookGames, Develop & Html5 for BlackBerry PlayBook
Games, Develop & Html5 for BlackBerry PlayBook
 
Improve your Flash-based RIA with VoIP
Improve your Flash-based RIA with VoIPImprove your Flash-based RIA with VoIP
Improve your Flash-based RIA with VoIP
 
High performance ria teams
High performance ria teamsHigh performance ria teams
High performance ria teams
 
Flash 2 dev bbp-laybook
Flash 2 dev bbp-laybookFlash 2 dev bbp-laybook
Flash 2 dev bbp-laybook
 
Desarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIRDesarrollo para android con Flex / AIR
Desarrollo para android con Flex / AIR
 
Administración de Proyectos Flash en el Flat
Administración de Proyectos Flash en el FlatAdministración de Proyectos Flash en el Flat
Administración de Proyectos Flash en el Flat
 
Dale Stamina A Tu Flex App Con Amfphp
Dale Stamina A Tu Flex App Con AmfphpDale Stamina A Tu Flex App Con Amfphp
Dale Stamina A Tu Flex App Con Amfphp
 

Último

Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerRobertoCarrancioFern
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf7adelosriosarangojua
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfjjfch3110
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiegoCampos433849
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024DanielErazoMedina
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALGuadalinfoHuscarGuad
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadaspqeilyn0827
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdfIsabelHuairaGarma
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docxssusere34b451
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfprofmartinsuarez
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 

Último (20)

Gestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL ServerGestión de concurrencia y bloqueos en SQL Server
Gestión de concurrencia y bloqueos en SQL Server
 
¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf¡Mira mi nuevo diseño hecho en Canva!.pdf
¡Mira mi nuevo diseño hecho en Canva!.pdf
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUALJORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
JORNADA INTELIGENCIA ARTIFICIAL Y REALIDAD VIRTUAL
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdfHIGADO  Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
HIGADO Y TRAUMA HEPATICO UDABOL 2024 (3).pdf
 
editorial de informática de los sueños.docx
editorial de informática de los sueños.docxeditorial de informática de los sueños.docx
editorial de informática de los sueños.docx
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
manual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdfmanual-de-oleohidraulica-industrial-vickers.pdf
manual-de-oleohidraulica-industrial-vickers.pdf
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 

Hola Swift !