presentacion swift

19
Swift, el nuevo lenguaje de programación de Apple Mario Sevilla Montoya @MarioSev_i4s

Upload: pablo-qc

Post on 31-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

Manual breve swift

TRANSCRIPT

Page 1: 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

Page 2: Presentacion Swift

@ 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

Page 3: Presentacion Swift

@ 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?

Page 4: Presentacion Swift

@ 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.

Page 5: Presentacion Swift

@ 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.

Page 6: Presentacion Swift

@ 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.

Page 7: Presentacion Swift

@ 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

Page 8: Presentacion Swift

@ 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

Page 9: Presentacion Swift

@ 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.

Page 10: Presentacion Swift

@ 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.

Page 11: Presentacion Swift

@ 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.

Page 12: Presentacion Swift

@ 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

Page 13: Presentacion Swift

@ 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.

Page 14: Presentacion Swift

@ 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

Page 15: Presentacion Swift

@ 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

Page 16: Presentacion Swift

@ 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.

Page 17: Presentacion Swift

@ 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.

Page 18: Presentacion Swift

@ 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.

Page 19: Presentacion Swift