You are on page 1of 19

Swift, el nuevo lenguaje de programacin de Apple

Mario Sevilla Montoya

@MarioSev_i4s

ECODEGROUP.COM

Mario
Sevilla
Montoya
Desarrollador de aplicaciones iOS
y docente

Docente de aplicaciones iOS en


Curso de programacin en Swift
Ponente en Congreso de Mviles
Curso de programacin iOS LEXcode
Curso de iniciacin a la programacin en Objective-C
Curso de bases de datos orientadas al mvil

Desarrollador de aplicaciones iOS en

Rabbit
Google PageSpeed

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Qu vamos a ver?
-

Introduccin a Swift

Comparativa entre Objective-C y Swift


Potencia
Comprensin sintctica
Seguridad
Interactivo

Conclusiones finales

Qu lenguaje utilizo para hacer Apps?

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Introduccin a Swift
-

Swift es el lenguaje de programacin 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 ao ha sido mejorado y se ha presentado la versin 2 del lenguaje.


Adems, se anunci que va a ser Open Source, con lo que se abrir a ms
plataformas y se podr convertir en un lenguaje mucho ms extendido
en el futuro.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Esta versin 2 del lenguaje presenta numerosos cambios en cuanto a la


sintaxis y mejoras en funciones internas del propio lenguaje.

Han aadido ms sentencias para controlar el flujo de control: do, guard,


defer y repeat.

Tambin han aadido un gestor de errores, try/catch, que hace ms


llevadero el control de errores de nuestra aplicacin.

Todas estas mejoras las veremos en el prximo Curso de Programacin


con Swift 2 en EscuelaIT.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Comparativa entre Objective-C y Swift


-

Potencia
Swift tiene un rendimiento superior a Objective-C, simplemente,
porque Swift est ms cerca del hardware que Objective-C.
Esto es as porque que Swift tiene menos capas de abstraccin que
Objective-C, que es sper clase de C.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Complex object sort


3,9x

Swift

2,8x

Objective-C

Python

1x

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

RC4 encryption
220x

Swift

127x

Objective-C

Python

1x

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Comprensin sintctica
En cuanto a comprensin Objective-C tiene ventaja sobre Swift.
En Objective-C la sintaxis en mtodos ayuda mucho a desarrollar
documentacin en la propia programacin. 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 ms fcil
iniciarse a la programacin por ser similar a los lenguajes de
programacin ms extendidos.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

En Swift se manejan las cadenas con mayor facilidad. A diferencia de


Objective-C, el manejo de cadenas con Swift es mucho ms intuitivo y
directo. Simplemente utilizando == comparamos cadenas y podremos
concatenarlas con +=.
Tambin podemos crear Generics, una especie de funcin reutilizable a
la que podemos aadir diferentes tipos de variables como parmetros
para realizar una tarea concreta.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Seguridad
En cuanto a seguridad Swift est muy por delante de Objective-C.
En Objective-C, errores como no controlar los punteros vacos,
variables con valor no inicializado, desbordamiento, la gestin de la
memoria, etc. hacan que se cortara la ejecucin de la aplicacin sin que
el usuario tuviera ningn 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.
Adems, muchos de los errores anteriores son alertados al
desarrollador en tiempo de compilacin.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Swift

Rabbit para Google PageSpeed web test

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Interactivo
Gracias a la mejora en rendimiento de Swift desarrollaron Playground
en Xcode 6.
Playground es una herramienta que permite escribir cdigo y ver el
resultado en tiempo real.
No slo podemos ver valores que contienen las variables despus de
realizar clculos con ellas, adems, podemos ver grficas o, incluso,
animaciones.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Playground en Xcode

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Demo
Playground

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

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 ejecucin se minimizan.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

Qu lenguaje utilizo para hacer Apps?


Swift es un lenguaje que seguir evolucionando y cambiando a lo largo
de los prximos meses y aos ya que es un lenguaje que slo tiene un
ao de vida.
A da de hoy, Swift es el presente y, si Apple no dice lo contrario en los
prximos meses, futuro del desarrollo de software de todos los
productos de Apple.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s

ECODEGROUP.COM

La noticia de que el lenguaje va a ser Open Source aviva, an ms, la


evolucin y expansin de Swift.
Si empiezas a programar aplicaciones iOS, OS X, watchOS o tvOS,
recomiendo que lo hagas en Swift y no en Objective-C.

S w i f t , e l n u e v o l e n g u a j e d e p r o g r a m a c i n d e A p p l e

@MarioSev_i4s