Download - Presentacion Swift
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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama c i ó n d e A p p l e
ECODEGROUP.COM
Rabbit para Google PageSpeed web testSw
ift
@ M a r i o S e v _ i 4 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama c i ó n d e A p p l e
ECODEGROUP.COM
DemoPlayground
@ M a r i o S e v _ i 4 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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 sSw i f t , e l n u e vo l e n g u a j e d e p r o g r ama 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.