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.