SlideShare a Scribd company logo
1 of 19
Download to read offline
Swift, el nuevo lenguaje de programación de Apple
Mario  Sevilla  Montoya
@ M a r i o S e v _ i 4 s
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
Mario
Sevilla
Montoya
Desarrollador de aplicaciones iOS
y docente
Docente de aplicaciones iOS en
Desarrollador de aplicaciones iOS en
Curso de programación en Swift
Ponente en Congreso de Móviles
Curso de programación iOS LEXcode
Curso de iniciación a la programación en Objective-C
Curso de bases de datos orientadas al móvil
ECODEGROUP.COM
RabbitGoogle PageSpeed
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
¿Qué vamos a ver?
- Introducción a Swift
- Comparativa entre Objective-C y Swift
• Potencia
• Comprensión sintáctica
• Seguridad
• Interactivo
- Conclusiones finales
- ¿Qué lenguaje utilizo para hacer Apps?
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Introducción a Swift
- Swift es el lenguaje de programación que Apple lanzó en la WWDC 14 y
que, sin duda, se está convirtiendo en el lenguaje de referencia en el
desarrollo de aplicaciones iOS, OS X, watchOS y tvOS.
- Este año ha sido mejorado y se ha presentado la versión 2 del lenguaje.
Además, se anunció que va a ser Open Source, con lo que se abrirá a más
plataformas y se podrá convertir en un lenguaje mucho más extendido
en el futuro.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
- Esta versión 2 del lenguaje presenta numerosos cambios en cuanto a la
sintaxis y mejoras en funciones internas del propio lenguaje.
- Han añadido más sentencias para controlar el flujo de control: do, guard,
defer y repeat.
- También han añadido un gestor de errores, try/catch, que hace más
llevadero el control de errores de nuestra aplicación.
- Todas estas mejoras las veremos en el próximo Curso de Programación
con Swift 2 en EscuelaIT.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Comparativa entre Objective-C y Swift
- Potencia
Swift tiene un rendimiento superior a Objective-C, simplemente,
porque Swift está más cerca del hardware que Objective-C.
Esto es así porque que Swift tiene menos capas de abstracción que
Objective-C, que es súper clase de C.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Complex object sort
Swift
Objective-C
Python 1x
2,8x
3,9x
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
RC4 encryption
Swift
Objective-C
Python 1x
127x
220x
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
- Comprensión sintáctica
En cuanto a comprensión Objective-C tiene ventaja sobre Swift.
En Objective-C la sintaxis en métodos ayuda mucho a desarrollar
documentación en la propia programación. Todo se define de forma
muy descriptiva y eso es una ventaja a la hora de realizar proyectos
entre equipos de trabajo.
El punto positivo que tiene Swift, en este apartado, es que es más fácil
iniciarse a la programación por ser similar a los lenguajes de
programación más extendidos.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
En Swift se manejan las cadenas con mayor facilidad. A diferencia de
Objective-C, el manejo de cadenas con Swift es mucho más intuitivo y
directo. Simplemente utilizando “==” comparamos cadenas y podremos
concatenarlas con “+=”.
También podemos crear Generics, una especie de función reutilizable a
la que podemos añadir diferentes tipos de variables como parámetros
para realizar una tarea concreta.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
- Seguridad
En cuanto a seguridad Swift está muy por delante de Objective-C.
En Objective-C, errores como no controlar los punteros vacíos,
variables con valor no inicializado, desbordamiento, la gestión de la
memoria, etc. hacían que se cortara la ejecución de la aplicación sin que
el usuario tuviera ningún tipo de aviso.
En Swift no se pueden dar estos errores debido a que debemos que
cumplir una serie de requisitos a la hora de trabajar con este lenguaje.
Además, muchos de los errores anteriores son alertados al
desarrollador en tiempo de compilación.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Rabbit para Google PageSpeed web test
Swift
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
- Interactivo
Gracias a la mejora en rendimiento de Swift desarrollaron Playground
en Xcode 6.
Playground es una herramienta que permite escribir código y ver el
resultado en tiempo real.
No sólo podemos ver valores que contienen las variables después de
realizar cálculos con ellas, además, podemos ver gráficas o, incluso,
animaciones.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Playground en Xcode
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Demo
Playground
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
Conclusiones finales
Las grandes ventajas que ofrece trabajar con Swift son la velocidad y la
seguridad.
En proyectos grandes, la velocidad de compilado facilita el desarrollo y
los errores en tiempo de ejecución se minimizan.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
¿Qué lenguaje utilizo para hacer Apps?
Swift es un lenguaje que seguirá evolucionando y cambiando a lo largo
de los próximos meses y años ya que es un lenguaje que sólo tiene un
año de vida.
A día de hoy, Swift es el presente y, si Apple no dice lo contrario en los
próximos meses, futuro del desarrollo de software de todos los
productos de Apple.
@ M a r i o S e v _ i 4 sS w i f t ,    e l    n u e v o    l e n g u a j e    d e    p ro g r a m a c i ó n    d e   A p p l e
ECODEGROUP.COM
La noticia de que el lenguaje va a ser Open Source aviva, aún más, la
evolución y expansión de Swift.
Si empiezas a programar aplicaciones iOS, OS X, watchOS o tvOS,
recomiendo que lo hagas en Swift y no en Objective-C.
Swift, el nuevo lenguaje de programación de Apple

More Related Content

What's hot

Sistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaSistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaKike Salsalazar
 
Introducción a WordPress
Introducción a WordPressIntroducción a WordPress
Introducción a WordPressWP Curso
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativoOskr GL
 
Ensayo sobre el Software libre
Ensayo sobre el Software libreEnsayo sobre el Software libre
Ensayo sobre el Software librejeff-metal13
 
Infografia evolution de las aplicaciones web
Infografia evolution de las aplicaciones webInfografia evolution de las aplicaciones web
Infografia evolution de las aplicaciones webLuiis Morrison
 
Aplicacion web presentacion
Aplicacion web   presentacionAplicacion web   presentacion
Aplicacion web presentacionalumno17ja
 
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Lenguajes de programación y framework más utilizados por alumnos  de la carre...Lenguajes de programación y framework más utilizados por alumnos  de la carre...
Lenguajes de programación y framework más utilizados por alumnos de la carre...Edwin Roy Casas Huamanta
 
Mapa conceptual Arquitecto de Software
Mapa conceptual Arquitecto de SoftwareMapa conceptual Arquitecto de Software
Mapa conceptual Arquitecto de SoftwareTrabajo92
 
Ejecución de programas correctivos de errores en la consistencia de los datos...
Ejecución de programas correctivos de errores en la consistencia de los datos...Ejecución de programas correctivos de errores en la consistencia de los datos...
Ejecución de programas correctivos de errores en la consistencia de los datos...Javier Madrid
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*venusprinz583
 
Interacción humano computador
Interacción humano  computadorInteracción humano  computador
Interacción humano computadorJavier DemuVox
 
La Revolución Digital y los sistemas abiertos estandarizados
La Revolución Digital y los sistemas abiertos estandarizadosLa Revolución Digital y los sistemas abiertos estandarizados
La Revolución Digital y los sistemas abiertos estandarizadosJesús Vivas
 
Cuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptxCuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptxDavidLpz4
 
Aplicaciones RIA y Tradicionales , web 1.0 y 2.0
Aplicaciones RIA y Tradicionales , web 1.0 y 2.0Aplicaciones RIA y Tradicionales , web 1.0 y 2.0
Aplicaciones RIA y Tradicionales , web 1.0 y 2.0Cecy Hernandez
 
sistema operativo propietario
sistema operativo propietariosistema operativo propietario
sistema operativo propietarioanllytunena
 

What's hot (20)

Sistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directaSistemas con interfaces a manipulación directa
Sistemas con interfaces a manipulación directa
 
Introducción a WordPress
Introducción a WordPressIntroducción a WordPress
Introducción a WordPress
 
Cuadro comparativo
Cuadro comparativoCuadro comparativo
Cuadro comparativo
 
Ensayo sobre el Software libre
Ensayo sobre el Software libreEnsayo sobre el Software libre
Ensayo sobre el Software libre
 
Infografia evolution de las aplicaciones web
Infografia evolution de las aplicaciones webInfografia evolution de las aplicaciones web
Infografia evolution de las aplicaciones web
 
Aplicacion web presentacion
Aplicacion web   presentacionAplicacion web   presentacion
Aplicacion web presentacion
 
Lenguajes de programación y framework más utilizados por alumnos de la carre...
Lenguajes de programación y framework más utilizados por alumnos  de la carre...Lenguajes de programación y framework más utilizados por alumnos  de la carre...
Lenguajes de programación y framework más utilizados por alumnos de la carre...
 
Mapa conceptual Arquitecto de Software
Mapa conceptual Arquitecto de SoftwareMapa conceptual Arquitecto de Software
Mapa conceptual Arquitecto de Software
 
Ejecución de programas correctivos de errores en la consistencia de los datos...
Ejecución de programas correctivos de errores en la consistencia de los datos...Ejecución de programas correctivos de errores en la consistencia de los datos...
Ejecución de programas correctivos de errores en la consistencia de los datos...
 
Selectores css
Selectores cssSelectores css
Selectores css
 
evolucion del sistema operativo propietario
evolucion del sistema operativo propietarioevolucion del sistema operativo propietario
evolucion del sistema operativo propietario
 
clasificación del computador
clasificación del computadorclasificación del computador
clasificación del computador
 
*Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1**Diagramas de flujo nivel 0-1*
*Diagramas de flujo nivel 0-1*
 
Interacción humano computador
Interacción humano  computadorInteracción humano  computador
Interacción humano computador
 
La Revolución Digital y los sistemas abiertos estandarizados
La Revolución Digital y los sistemas abiertos estandarizadosLa Revolución Digital y los sistemas abiertos estandarizados
La Revolución Digital y los sistemas abiertos estandarizados
 
Software proyecto
Software proyectoSoftware proyecto
Software proyecto
 
Cuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptxCuadro-comparativo-sistemas-operativos-3.pptx
Cuadro-comparativo-sistemas-operativos-3.pptx
 
Aplicaciones RIA y Tradicionales , web 1.0 y 2.0
Aplicaciones RIA y Tradicionales , web 1.0 y 2.0Aplicaciones RIA y Tradicionales , web 1.0 y 2.0
Aplicaciones RIA y Tradicionales , web 1.0 y 2.0
 
sistema operativo propietario
sistema operativo propietariosistema operativo propietario
sistema operativo propietario
 
Sistema operativo libre y propietario
Sistema operativo libre y propietarioSistema operativo libre y propietario
Sistema operativo libre y propietario
 

Viewers also liked

Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageGiuseppe Arici
 
Análisis de datos con Python
Análisis de datos con PythonAnálisis de datos con Python
Análisis de datos con Pythongoyodiaz
 
Alternativas o condicionales en la programación
Alternativas o condicionales en la programaciónAlternativas o condicionales en la programación
Alternativas o condicionales en la programaciónDesarrolloWeb.com
 
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
 
Introduccion a Data Science
Introduccion a Data ScienceIntroduccion a Data Science
Introduccion a Data ScienceSpanishPASSVC
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming LanguageAnıl Sözeri
 
Swift programming language
Swift programming languageSwift programming language
Swift programming languageNijo Job
 
Curso iOS
Curso iOSCurso iOS
Curso iOSPlatzi
 
Curso Swift
Curso SwiftCurso Swift
Curso SwiftPlatzi
 
Algoritmo fundamentos de la programación
Algoritmo   fundamentos de la programaciónAlgoritmo   fundamentos de la programación
Algoritmo fundamentos de la programaciónDesarrolloWeb.com
 
“Capitalismo y esquizofrenia” gilles deleuze y félix guattari.
“Capitalismo y esquizofrenia”  gilles deleuze y félix guattari.“Capitalismo y esquizofrenia”  gilles deleuze y félix guattari.
“Capitalismo y esquizofrenia” gilles deleuze y félix guattari.Eleonora_que_ignora
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.Icalia Labs
 
Introducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónIntroducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónDesarrolloWeb.com
 

Viewers also liked (20)

Introducción a Windows 10
Introducción a Windows 10Introducción a Windows 10
Introducción a Windows 10
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Análisis de datos con Python
Análisis de datos con PythonAnálisis de datos con Python
Análisis de datos con Python
 
Repeticiones
RepeticionesRepeticiones
Repeticiones
 
Alternativas o condicionales en la programación
Alternativas o condicionales en la programaciónAlternativas o condicionales en la programación
Alternativas o condicionales en la programación
 
McAdams- Resume
McAdams- ResumeMcAdams- Resume
McAdams- Resume
 
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
 
Hola Swift
Hola SwiftHola Swift
Hola Swift
 
Introduccion a Data Science
Introduccion a Data ScienceIntroduccion a Data Science
Introduccion a Data Science
 
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
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Swift programming language
Swift programming languageSwift programming language
Swift programming language
 
Curso iOS
Curso iOSCurso iOS
Curso iOS
 
Curso Swift
Curso SwiftCurso Swift
Curso Swift
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo fundamentos de la programación
Algoritmo   fundamentos de la programaciónAlgoritmo   fundamentos de la programación
Algoritmo fundamentos de la programación
 
El rizoma deleuze (jaime reyes-f)
El rizoma   deleuze (jaime reyes-f)El rizoma   deleuze (jaime reyes-f)
El rizoma deleuze (jaime reyes-f)
 
“Capitalismo y esquizofrenia” gilles deleuze y félix guattari.
“Capitalismo y esquizofrenia”  gilles deleuze y félix guattari.“Capitalismo y esquizofrenia”  gilles deleuze y félix guattari.
“Capitalismo y esquizofrenia” gilles deleuze y félix guattari.
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
 
Introducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la ProgramaciónIntroducción a los lenguajes - Fundamentos de la Programación
Introducción a los lenguajes - Fundamentos de la Programación
 

Similar to Swift, el nuevo lenguaje de programación de Apple

Los lenguajes de programacion en el campo laboral y productivo sayyid valder...
Los lenguajes de programacion en el campo laboral y productivo  sayyid valder...Los lenguajes de programacion en el campo laboral y productivo  sayyid valder...
Los lenguajes de programacion en el campo laboral y productivo sayyid valder...XxJahenValderramaxX
 
Los Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid Valderrama
Los Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid ValderramaLos Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid Valderrama
Los Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid Valderramajahenvalderrama
 
Cuadro comparativo de los lenguajes de desarrollo 04
Cuadro comparativo de los lenguajes de desarrollo 04Cuadro comparativo de los lenguajes de desarrollo 04
Cuadro comparativo de los lenguajes de desarrollo 04marioorozco2g
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesGuadalupe Piedra Olano
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazoJesica Pérez
 
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?Roberto Taborda
 
Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones movilesLisbeth Santur Abad
 
Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones movilesnoemimosquedachappa
 
Aprende a Programar: Introducción
Aprende a Programar: IntroducciónAprende a Programar: Introducción
Aprende a Programar: IntroducciónDigital Learning SL
 
Presentación informatica semana 4
Presentación informatica semana 4Presentación informatica semana 4
Presentación informatica semana 4ANDRESFELIPECHAMORRO
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programaciónzanahoria2015
 
Lenguaje de programación C - Cleibery.
Lenguaje de programación C - Cleibery.Lenguaje de programación C - Cleibery.
Lenguaje de programación C - Cleibery.cleiberylobo
 

Similar to Swift, el nuevo lenguaje de programación de Apple (20)

Los lenguajes de programacion en el campo laboral y productivo sayyid valder...
Los lenguajes de programacion en el campo laboral y productivo  sayyid valder...Los lenguajes de programacion en el campo laboral y productivo  sayyid valder...
Los lenguajes de programacion en el campo laboral y productivo sayyid valder...
 
Act.4 swift
Act.4   swiftAct.4   swift
Act.4 swift
 
Los Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid Valderrama
Los Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid ValderramaLos Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid Valderrama
Los Lenguajes de Programacion en Campo Laboral y Productivo -Sayyid Valderrama
 
¿Conoces swift?
¿Conoces swift?¿Conoces swift?
¿Conoces swift?
 
Guia teorica
Guia teoricaGuia teorica
Guia teorica
 
Cuadro comparativo de los lenguajes de desarrollo 04
Cuadro comparativo de los lenguajes de desarrollo 04Cuadro comparativo de los lenguajes de desarrollo 04
Cuadro comparativo de los lenguajes de desarrollo 04
 
Programación de Aplicaciones Móviles
Programación de Aplicaciones MóvilesProgramación de Aplicaciones Móviles
Programación de Aplicaciones Móviles
 
Universidad nacional de chimborazo
Universidad nacional de chimborazoUniversidad nacional de chimborazo
Universidad nacional de chimborazo
 
aplicaciones móviles
aplicaciones móviles aplicaciones móviles
aplicaciones móviles
 
Curso CódigoK Back End (PHP + Laravel)
Curso CódigoK Back End (PHP + Laravel)Curso CódigoK Back End (PHP + Laravel)
Curso CódigoK Back End (PHP + Laravel)
 
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
Como desarrollar aplicaciones moviles, que debemos tener en cuenta?
 
Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones moviles
 
Programacion de aplicaciones moviles
Programacion de aplicaciones movilesProgramacion de aplicaciones moviles
Programacion de aplicaciones moviles
 
Aprende a Programar: Introducción
Aprende a Programar: IntroducciónAprende a Programar: Introducción
Aprende a Programar: Introducción
 
Presentación informatica semana 4
Presentación informatica semana 4Presentación informatica semana 4
Presentación informatica semana 4
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Presentación lenguajes de programación
Presentación lenguajes de programaciónPresentación lenguajes de programación
Presentación lenguajes de programación
 
Lenguaje de programación C - Cleibery.
Lenguaje de programación C - Cleibery.Lenguaje de programación C - Cleibery.
Lenguaje de programación C - Cleibery.
 
Atix21
Atix21Atix21
Atix21
 

Recently uploaded

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel tallerValentinaTabares11
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 

Recently uploaded (20)

Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
Excel (1) tecnologia.pdf trabajo Excel taller
Excel  (1) tecnologia.pdf trabajo Excel tallerExcel  (1) tecnologia.pdf trabajo Excel taller
Excel (1) tecnologia.pdf trabajo Excel taller
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 

Swift, el nuevo lenguaje de programación de Apple

  • 1. Swift, el nuevo lenguaje de programación de Apple Mario  Sevilla  Montoya @ M a r i o S e v _ i 4 s
  • 2. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e Mario Sevilla Montoya Desarrollador de aplicaciones iOS y docente Docente de aplicaciones iOS en Desarrollador de aplicaciones iOS en Curso de programación en Swift Ponente en Congreso de Móviles Curso de programación iOS LEXcode Curso de iniciación a la programación en Objective-C Curso de bases de datos orientadas al móvil ECODEGROUP.COM RabbitGoogle PageSpeed
  • 3. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM ¿Qué vamos a ver? - Introducción a Swift - Comparativa entre Objective-C y Swift • Potencia • Comprensión sintáctica • Seguridad • Interactivo - Conclusiones finales - ¿Qué lenguaje utilizo para hacer Apps?
  • 4. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Introducción a Swift - Swift es el lenguaje de programación que Apple lanzó en la WWDC 14 y que, sin duda, se está convirtiendo en el lenguaje de referencia en el desarrollo de aplicaciones iOS, OS X, watchOS y tvOS. - Este año ha sido mejorado y se ha presentado la versión 2 del lenguaje. Además, se anunció que va a ser Open Source, con lo que se abrirá a más plataformas y se podrá convertir en un lenguaje mucho más extendido en el futuro.
  • 5. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM - Esta versión 2 del lenguaje presenta numerosos cambios en cuanto a la sintaxis y mejoras en funciones internas del propio lenguaje. - Han añadido más sentencias para controlar el flujo de control: do, guard, defer y repeat. - También han añadido un gestor de errores, try/catch, que hace más llevadero el control de errores de nuestra aplicación. - Todas estas mejoras las veremos en el próximo Curso de Programación con Swift 2 en EscuelaIT.
  • 6. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Comparativa entre Objective-C y Swift - Potencia Swift tiene un rendimiento superior a Objective-C, simplemente, porque Swift está más cerca del hardware que Objective-C. Esto es así porque que Swift tiene menos capas de abstracción que Objective-C, que es súper clase de C.
  • 7. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Complex object sort Swift Objective-C Python 1x 2,8x 3,9x
  • 8. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM RC4 encryption Swift Objective-C Python 1x 127x 220x
  • 9. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM - Comprensión sintáctica En cuanto a comprensión Objective-C tiene ventaja sobre Swift. En Objective-C la sintaxis en métodos ayuda mucho a desarrollar documentación en la propia programación. Todo se define de forma muy descriptiva y eso es una ventaja a la hora de realizar proyectos entre equipos de trabajo. El punto positivo que tiene Swift, en este apartado, es que es más fácil iniciarse a la programación por ser similar a los lenguajes de programación más extendidos.
  • 10. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM En Swift se manejan las cadenas con mayor facilidad. A diferencia de Objective-C, el manejo de cadenas con Swift es mucho más intuitivo y directo. Simplemente utilizando “==” comparamos cadenas y podremos concatenarlas con “+=”. También podemos crear Generics, una especie de función reutilizable a la que podemos añadir diferentes tipos de variables como parámetros para realizar una tarea concreta.
  • 11. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM - Seguridad En cuanto a seguridad Swift está muy por delante de Objective-C. En Objective-C, errores como no controlar los punteros vacíos, variables con valor no inicializado, desbordamiento, la gestión de la memoria, etc. hacían que se cortara la ejecución de la aplicación sin que el usuario tuviera ningún tipo de aviso. En Swift no se pueden dar estos errores debido a que debemos que cumplir una serie de requisitos a la hora de trabajar con este lenguaje. Además, muchos de los errores anteriores son alertados al desarrollador en tiempo de compilación.
  • 12. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Rabbit para Google PageSpeed web test Swift
  • 13. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM - Interactivo Gracias a la mejora en rendimiento de Swift desarrollaron Playground en Xcode 6. Playground es una herramienta que permite escribir código y ver el resultado en tiempo real. No sólo podemos ver valores que contienen las variables después de realizar cálculos con ellas, además, podemos ver gráficas o, incluso, animaciones.
  • 14. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Playground en Xcode
  • 15. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Demo Playground
  • 16. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM Conclusiones finales Las grandes ventajas que ofrece trabajar con Swift son la velocidad y la seguridad. En proyectos grandes, la velocidad de compilado facilita el desarrollo y los errores en tiempo de ejecución se minimizan.
  • 17. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM ¿Qué lenguaje utilizo para hacer Apps? Swift es un lenguaje que seguirá evolucionando y cambiando a lo largo de los próximos meses y años ya que es un lenguaje que sólo tiene un año de vida. A día de hoy, Swift es el presente y, si Apple no dice lo contrario en los próximos meses, futuro del desarrollo de software de todos los productos de Apple.
  • 18. @ M a r i o S e v _ i 4 sS w i f t ,   e l   n u e v o   l e n g u a j e   d e   p ro g r a m a c i ó n   d e  A p p l e ECODEGROUP.COM La noticia de que el lenguaje va a ser Open Source aviva, aún más, la evolución y expansión de Swift. Si empiezas a programar aplicaciones iOS, OS X, watchOS o tvOS, recomiendo que lo hagas en Swift y no en Objective-C.