¿Conoces swift?

37
¿Conoces Swift? Carlos Cañizares Estévez @ccanizares Developer at @plainconcepts

Transcript of ¿Conoces swift?

Page 1: ¿Conoces swift?

¿Conoces Swift?

Carlos Cañizares Estévez

@ccanizares

Developer at @plainconcepts

Page 2: ¿Conoces swift?
Page 3: ¿Conoces swift?

Historia (poca), ámbitos de aplicación, características

principales.

Introducción a Swift, sintaxi

básica, funciones y closures, tipos

de datos, extensiones, protocols y

genéricos, similitudes con

otros lenguajes.

Demo iOS app Padel Counter!

Contenido

Page 4: ¿Conoces swift?

2010: Chris Lattner inició el desarrollo

Junio 2014: WWDC primera aplicación Swift

Septiembre 2014: Versión 1.0, XCode 6.0 iOS

Septiembre 2015: Versión 2.0

Diciembre 2015: Open Source

Junio 2016: (Preview) Versión 3.0 XCode 8.0

Junio 2016: Carlos lo peta introduciendo Swift en

Gapand.

Hitos importantes de Swift

Page 5: ¿Conoces swift?

Características Principales

Multiparadigma

Open Source

Alternativa a Objective C en desarrollo iOS, OSX,

tvOS y watchOS.

Diseñado para ‘gustar’

Google y facebook le hacen ojitos.

Page 6: ¿Conoces swift?

Características Principales

Page 7: ¿Conoces swift?

Otros ámbitos de aplicación

Page 8: ¿Conoces swift?

Sintaxi e influencias de

otros lenguajeslet Swift = “awesome”

Page 9: ¿Conoces swift?

Variables y constantes

Operadores

Sintaxi - básica

Page 10: ¿Conoces swift?

Iteradores

Sintaxi - básica

Page 11: ¿Conoces swift?

Condicionales

Sintaxi - básica

Page 12: ¿Conoces swift?

Diccionarios -- Javascript

Sintaxi - Influencias

Page 13: ¿Conoces swift?

Structs -- C#

String templating -- Cold Fusion, JSP, ...

Inferencia de tipos -- prog. funcional, C#, javascript, …

Sintaxi - Influencias

Page 14: ¿Conoces swift?

Semicolons opcionales -- JavaScript, Python, …

Protocols (aka interfaces) -- Java, C#

Sintaxi - Influencias

Page 15: ¿Conoces swift?

Tuples -- Lisp, Python

Sintaxi - Influencias

Page 16: ¿Conoces swift?

Funciones y Closures -- Lisp

Sintaxi - Influencias

Page 17: ¿Conoces swift?

Herencia, Polimorfirsmo y Casteos

Sintaxi - OOP

Page 18: ¿Conoces swift?

Genéricos

Sintaxi - OOP

Soporta Constraints, Where Clausules ...

Page 19: ¿Conoces swift?

Opcionales y nulables

Sintaxi - Cosecha Swift

Page 20: ¿Conoces swift?

Extensions

Sintaxi - Cosecha Swift

Page 21: ¿Conoces swift?

Type Alias

Sintaxi - Cosecha Swift

Page 22: ¿Conoces swift?

Ámbitos de aplicaciónDesarrollo aplicaciones Apple

Page 23: ¿Conoces swift?

Compatibilidad XCode

Ámbitos de aplicación - Apple

Page 24: ¿Conoces swift?

Versionado, integración continua, deploy, seguimiento,

analíticas ...

c

Ámbitos de aplicación - Apple

CI

ipa

Page 25: ¿Conoces swift?

CocoaSpec - ObjC + Swift

Carthage - Swift

Swift Package Manager

XCode - Swift - Paquetes

Gestores de paquetes XCodeGran comunidad open-source para lo

joven que es el lenguaje, un ejemplo:

Page 26: ¿Conoces swift?

XCode - Swift - Arquitectura

MVC Pattern en XCode/Swift (aka MVVM en Visual Studio/C#)

Page 27: ¿Conoces swift?

XCode - Swift - Views

Vistas en XCode - Story Board, Escenas, Views

Story Board sin escenas Añadir escena

Page 28: ¿Conoces swift?

XCode - Swift - Views

Vistas en XCode - Controller, Vincular a Escena

Controller Vincular controller a escena

Page 29: ¿Conoces swift?

XCode - Swift - Views

Vistas en XCode - Interactuar con la vista desde el controller

Actions y Outlets

Page 30: ¿Conoces swift?

XCode - Swift - Views

Vistas en XCode - Navegación entre escenas Segues

Representación Segues en Story Board

Creación de un Segue

Tipos de Segue

Page 31: ¿Conoces swift?

Demo time,

let see

Padel

Counter!

Page 32: ¿Conoces swift?

Si te ha picado un poco

el gusanillo aquí tienes

material para rato..

Page 33: ¿Conoces swift?

Recursos

Open Source

https://developer.apple.com/swift/blog/?id=34

REM Objects

http://www.elementscompiler.com/elements/default.aspx

Swift Stuff

http://swiftstub.com/

Page 34: ¿Conoces swift?

Recursos

Swift Awesome

https://github.com/Wolg/awesome-swift

Kitura

https://developer.ibm.com/swift/kitura/

LVVM Compiler Info (Open Source)

http://llvm.org/

Page 35: ¿Conoces swift?

Recursos - Lectura/Tutorial

WWDC 2016 article, Swift 3.0, announced working on port to Windows...http://www.macworld.co.uk/feature/iosapps/what-apple-will-announce-with-swift-30-at-wwdc-2016-preview-3638662/

Funny Tutorial develop step by step flappy birds using SpriteKit

https://www.youtube.com/watch?v=D7ntzPFvMf0

Page 36: ¿Conoces swift?

¿Preguntas?

Page 37: ¿Conoces swift?

Gracias y hasta la

próxima!

http://restlessminds.iohttp://www.areaTic.net