SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
DIFERENCIAS Y
FUTURO
SWIFT Y OBJECTIVE-C
— Un programador
¡OBJECTIVE-C ESTÁ
MUERTO!
”
“
— El mismo programador
¡LARGA VIDA A SWIFT!
”
“
— Otro programador
LA PROGRAMACIÓN
ORIENTADA A OBJETOS FUE
UN ERROR.
”
“
— El mismo programador
LA PROGRAMACIÓN
FUNCIONAL ES MEJOR QUE
LA ORIENTADA A OBJETOS.
”
“
— Apple
¡LA PROGRAMACIÓN
ORIENTADA A PROTOCOLOS
VA A CAMBIAR TODO!
”
“
— Apple
EVITEN USAR CLASES,
HERENCIA Y VALORES POR
REFERENCIAS
”
“
¿ES CORRECTO
ESTO?
SWIFT VS
OBJECTIVE-C
INMUTABILIDAD VS MUTABILIDAD
TIPOS POR VALOR VS TIPOS POR
REFERENCIA
PROTOCOLS VS HERENCIA
DECLARATIVA VS IMPERATIVA
DINÁMICO VS ESTÁTICO
FUNCIONAL VS ORIENTADA A OBJETOS
MUTABILIDAD VS INMUTABILIDAD
Objective-C Swift
Mutabilidad
Casi Todo :-)
(mutableCopy)
var
Inmutabilidad
Tipos primitivos/NSArray/
NSDictionary/NSString/
NSSet/const
set
TIPOS POR VALOR VS POR REFERENCIA
Objective-C Swift
Por Referencia
Casi Todo (Defensive
Copying)
Clases
Por Valor Tipos primitivos
struct/enum/array/string/
tuple/dictionary
Pase por
Referencia
Pase por
Valor
Mutable Peligro Seguro
Inmutable Seguro NA
TIPOS POR VALOR VS POR REFERENCIA
CONCURRENCIA
PROTOCOLOS VS HERENCIA
Objective-C Swift
Protocolos
Si (común: Delegation
Pattern)
Si (Lo recomendado)
Herencia Si
Si (Sólo cuando
interactúa con Cocoa)
DECLARATIVA VS IMPERATIVA
Objective-C Swift
Declarativa
Es común en colecciones
(filteredArrayUsingPredic
ate)
Si
Imperativa Si Si
DINÁMICO VS ESTÁTICO
Objective-C Swift
Dinámico Envío de mensajes
Si (aunque más parecido
a C++)
Estático Si (Hack) final/private
DEFINICIÓN
• Funciones que a misma entrada, misma salida
• No efectos colaterales
• Funciones son un tipo de dato
• Funciones pueden recibir y devolver otras funciones
FUNCIONAL VS OOP
FUNCIONAL VS OOP
Objective-C Swift
Funcional Si Si
OOP Si Si
OPEN SOURCE
WEB FRAMEWORK
SWIFT
CONCLUSIONES
• Swift es un lenguaje de programación híbrido, al igual que Objective-
C
• Riesgo de mezclar/no usar correctamente ningún paradigma
• No importa si es Objetive-C o Swift, lo importante es utilizar los
conceptos de inmutabilidad, no efectos colaterales, encapsulamiento
y composición.
• Swift es mas complejo que Objective-C
• La sintaxis de Swift es mas familiar y por eso gana sobre Objective-C
• Swift está incorporando elementos dinámicos (hay esperanza)
PRONÓSTICO
CONCLUSIONES
• Swift va a ser el siguiente Java (por uso)
• Swift va a ser el lenguaje predominante para hacer aplicaciones
para Android y iOS
• Swift también va a ser usado para creación de servicios (aunque
probablemente no el principal)
• Swift va a ser el lenguaje que se enseñe en las escuelas (para bien
o para mal)
• Esperen ver certificaciones en Swift ;-)
FINALES
CONCLUSIONES
“The crisis of 1995 shows that we took our existing procedural code,
observed these benefits of OOP, then carried on writing procedural
code while calling it OOP. That, unsurprisingly, isn’t working, and I
wouldn’t be surprised if people blame it on OOP with its mutable
values, side-effecting functions, and imperative code.”
Graham
FINALES
CONCLUSIONES
“We’ll look to the benefits some other paradigm, maybe those of
functional programming (which are, after all, the same as the
benefits of OOP), and declare how it’s the silver bullet just as Brad
Cox did. Then we’ll add procedural features to functional
programming languages, or the other way around, to reduce the
“learning curve” and make the new paradigm accessible. Then we’ll
all carry on writing C programs, calling them the new paradigm.
Then that won’t work, and we’ll declare functional programming (or
whatever comes next) as much of a failure as object-oriented
programming. As we will with whatever comes after that.”
Graham
LINKS
REFERENCIAS
• http://www.sicpers.info/2015/05/object-oriented-programming-in-
objective-c/Reusability
• https://www.destroyallsoftware.com/talks/boundaries
• https://developer.apple.com/videos/play/wwdc2015/226/
• https://developer.apple.com/videos/play/wwdc2015/414/
• https://developer.apple.com/videos/play/wwdc2015/408/

Más contenido relacionado

Destacado

NSCoder Swift - An Introduction to Swift
NSCoder Swift - An Introduction to SwiftNSCoder Swift - An Introduction to Swift
NSCoder Swift - An Introduction to SwiftAndreas Blick
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017 Software Guru
 
NSCoder Swift - ¿Debo Aprender Swift?
NSCoder Swift - ¿Debo Aprender Swift?NSCoder Swift - ¿Debo Aprender Swift?
NSCoder Swift - ¿Debo Aprender Swift?NSCoder Mexico
 
Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...
Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...
Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...Stanfy
 
Denis Lebedev, Swift
Denis  Lebedev, SwiftDenis  Lebedev, Swift
Denis Lebedev, SwiftYandex
 
Desarrollo en iOS devacademy
Desarrollo en iOS   devacademyDesarrollo en iOS   devacademy
Desarrollo en iOS devacademyRodrigo Ayala
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.Icalia Labs
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to SwiftGiordano Scalzo
 
Presentacion Xcode
Presentacion XcodePresentacion Xcode
Presentacion XcodeXcode
 
Swift Programming Basics (Part I)
Swift Programming Basics (Part I)Swift Programming Basics (Part I)
Swift Programming Basics (Part I)Alberto Pacheco
 
iOS: Una Experiencia Xcode
iOS: Una Experiencia XcodeiOS: Una Experiencia Xcode
iOS: Una Experiencia XcodeCarlos Leon
 
Integrando Swift y Objective-C
Integrando Swift y Objective-CIntegrando Swift y Objective-C
Integrando Swift y Objective-CErick Camacho
 
Curso iOS
Curso iOSCurso iOS
Curso iOSPlatzi
 
Curso Swift
Curso SwiftCurso Swift
Curso SwiftPlatzi
 

Destacado (20)

Tutorial de Lenguaje de Programación Swift
Tutorial de Lenguaje de Programación SwiftTutorial de Lenguaje de Programación Swift
Tutorial de Lenguaje de Programación Swift
 
NSCoder Swift - An Introduction to Swift
NSCoder Swift - An Introduction to SwiftNSCoder Swift - An Introduction to Swift
NSCoder Swift - An Introduction to Swift
 
Swift sin hype y su importancia en el 2017
 Swift sin hype y su importancia en el 2017  Swift sin hype y su importancia en el 2017
Swift sin hype y su importancia en el 2017
 
Swift
SwiftSwift
Swift
 
NSCoder Swift - ¿Debo Aprender Swift?
NSCoder Swift - ¿Debo Aprender Swift?NSCoder Swift - ¿Debo Aprender Swift?
NSCoder Swift - ¿Debo Aprender Swift?
 
Apple ios
Apple iosApple ios
Apple ios
 
Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...
Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...
Stanfy MadCode Meetup #11: Why do you need to switch from Obj-C to Swift, or ...
 
Denis Lebedev, Swift
Denis  Lebedev, SwiftDenis  Lebedev, Swift
Denis Lebedev, Swift
 
Desarrollo en iOS devacademy
Desarrollo en iOS   devacademyDesarrollo en iOS   devacademy
Desarrollo en iOS devacademy
 
Swift
SwiftSwift
Swift
 
Introducción a swift
Introducción a swiftIntroducción a swift
Introducción a swift
 
Lenguaje objective c
Lenguaje objective cLenguaje objective c
Lenguaje objective c
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
Presentacion Xcode
Presentacion XcodePresentacion Xcode
Presentacion Xcode
 
Swift Programming Basics (Part I)
Swift Programming Basics (Part I)Swift Programming Basics (Part I)
Swift Programming Basics (Part I)
 
iOS: Una Experiencia Xcode
iOS: Una Experiencia XcodeiOS: Una Experiencia Xcode
iOS: Una Experiencia Xcode
 
Integrando Swift y Objective-C
Integrando Swift y Objective-CIntegrando Swift y Objective-C
Integrando Swift y Objective-C
 
Curso iOS
Curso iOSCurso iOS
Curso iOS
 
Curso Swift
Curso SwiftCurso Swift
Curso Swift
 

Similar a Mobile Day - Swift y Objective-C

Similar a Mobile Day - Swift y Objective-C (20)

Java
Java Java
Java
 
Panel Magmaconf
Panel MagmaconfPanel Magmaconf
Panel Magmaconf
 
Java
JavaJava
Java
 
Java
Java Java
Java
 
Java sandra
Java sandraJava sandra
Java sandra
 
Java sandra
Java sandraJava sandra
Java sandra
 
20150415 roslyn
20150415 roslyn20150415 roslyn
20150415 roslyn
 
Objective-C.pptx
Objective-C.pptxObjective-C.pptx
Objective-C.pptx
 
Paradigmas de programacion de computadoras FP.pptx
Paradigmas de programacion de computadoras FP.pptxParadigmas de programacion de computadoras FP.pptx
Paradigmas de programacion de computadoras FP.pptx
 
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
.NET UY Meetup 4 - AOP & PostSharp by Bruno Bologna & Fabian Fernandez
 
documentación simple de como desarrollar un compilador en java
documentación simple de como desarrollar un compilador en javadocumentación simple de como desarrollar un compilador en java
documentación simple de como desarrollar un compilador en java
 
Re evolución robótica
Re evolución robóticaRe evolución robótica
Re evolución robótica
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Mi lenguaje de programación de preferencia
Mi lenguaje de programación de preferenciaMi lenguaje de programación de preferencia
Mi lenguaje de programación de preferencia
 
Evolución Android: Del Framework a la supervivencia del más fuerte
Evolución Android: Del Framework a la supervivencia del más fuerteEvolución Android: Del Framework a la supervivencia del más fuerte
Evolución Android: Del Framework a la supervivencia del más fuerte
 
Functional programming Vol. 2
Functional programming Vol. 2Functional programming Vol. 2
Functional programming Vol. 2
 
Practicas java
Practicas javaPracticas java
Practicas java
 
My programming language 04 05-2014
My programming language 04 05-2014My programming language 04 05-2014
My programming language 04 05-2014
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guia
 
Resolucion de guia
Resolucion de guiaResolucion de guia
Resolucion de guia
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...ITeC Instituto Tecnología Construcción
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Opentix
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfmasogeis
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionarmando_cardenas
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3AlexysCaytanoMelndez1
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOSelenaCoronadoHuaman
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTEREMMAFLORESCARMONA
 

Último (7)

BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
BREEAM ES Urbanismo como herramienta para un planeamiento sostenible - Miguel...
 
Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200Caso de éxito de Hervian con el ERP Sage 200
Caso de éxito de Hervian con el ERP Sage 200
 
Manual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdfManual de Usuario APPs_AppInventor-2023.pdf
Manual de Usuario APPs_AppInventor-2023.pdf
 
Unidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacionUnidad_3_T1_AutomatasFinitos presentacion
Unidad_3_T1_AutomatasFinitos presentacion
 
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3Segmentacion Segmantica_Modelos UNET and DEEPLABV3
Segmentacion Segmantica_Modelos UNET and DEEPLABV3
 
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLOPARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
PARTES DEL TECLADO Y SUS FUNCIONES - EJEMPLO
 
Introducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTERIntroducción a Funciones LENGUAJE DART FLUTTER
Introducción a Funciones LENGUAJE DART FLUTTER
 

Mobile Day - Swift y Objective-C