SlideShare una empresa de Scribd logo
www.sgcampus.com.mx @sgcampus
www.sgcampus.com.mx
@sgcampus
Francisco Granados (@gzfrancisco)
ObjC/Swift senior developer and instructor
github.com/gzfrancisco
facebook.com/gzfrancisco
www.sgcampus.com.mx @sgcampus
@gzfrancisco
• Francisco Granados
• Senior developer (Web, Flash/Flex, PHP, Java,
Groovy/Gradle/Grails, Ruby/Rails, C/ObjC/Swift/
RubyMotion, Elixir/Elm)
• Experiencia en:
• Financiero
• Gobierno
• Marketing
• Video juegos
• Startups
www.sgcampus.com.mx @sgcampus
Swift sin hype y su importancia en el 2017
• Por que un nuevo lenguaje de programación?
• El trabajo con C es más difícil y resulto ser más
productivo crear algo nuevo.
• En donde esta Objective-C ahora?
• En el mismo lugar que antes, pero tiene un
lenguaje de ultima generación de quien
apoyarse.
www.sgcampus.com.mx @sgcampus
Hype?
www.sgcampus.com.mx @sgcampus
Hype!
• Existen personas que creen que por ser nuevo es
mejor.
• No es cierto.
• Objective-C seguirá siendo un lenguaje de
primera clase por muchos años.
• Swift resuelve problemas de C, no problemas de
Objective-C.
• No tires tus libros de C, ni de Objective-C
www.sgcampus.com.mx @sgcampus
Como funciona?
• Swift es solo el lenguaje de programación.
• Objective-C utiliza una herramienta llamada
CLang.
• Ambos lenguajes utilizan la LLVM para
transformar tu código a código de maquina.
• Hay muchos otros proyectos en llvm.org para
diferentes lenguajes.
• Rust, Phyton, Ruby, Nim, entre otros.
www.sgcampus.com.mx @sgcampus
Lo importante
• Swift es:
• Principalmente funcional
• No es orientado a objetos, aunque lo soporta.
• No existe el concepto de null/nil, aunque lo
soporta.
• Todo tiene un sistema de tipos fuerte y estático.
• Todo se pasa por valor.
• Pero tiene que trabajar junto con C y ObjC
• Por eso existen los opcionales.
• Por eso tenemos clases que pasan referencias.
• Por eso tenemos el soporte para POO.
www.sgcampus.com.mx @sgcampus
2017?
• En 2015 Swift se abrió al mundo con open source.
• La versión 2.2 fue la más aceptada y estable.
• Hace 1 semana se libero Xcode 8 y Swift 3.
• Swift ya esta soportado por Linux.
• En Swift 3 se cambio un poco la sintaxis, pero
existe una herramienta para migrar sin tocar
código.
• Ya no hay hype, solo están las aportaciones
realistas de los programadores open source.
• Visita swift.org
www.sgcampus.com.mx @sgcampus
Q&A
Dudas?
Francisco Granados
@gzfrancisco
facebook.com/gzfrancisco

Más contenido relacionado

La actualidad más candente

Mas alla de javascript con typescript
Mas alla de javascript con typescriptMas alla de javascript con typescript
Mas alla de javascript con typescriptLeonardo Micheloni
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloJose Juan R. Zuñiga
 
Intro a Drupal 8: Drupal Global Training Day
Intro a Drupal 8: Drupal Global Training DayIntro a Drupal 8: Drupal Global Training Day
Intro a Drupal 8: Drupal Global Training DayHeissen López
 
Introduccion a Elgg
Introduccion a ElggIntroduccion a Elgg
Introduccion a ElggPedro Prez
 
Swift migration. the true history
Swift migration. the true historySwift migration. the true history
Swift migration. the true historyidealistacreamcode
 
Taller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD LimaTaller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD LimaHeissen López
 

La actualidad más candente (10)

Mas alla de javascript con typescript
Mas alla de javascript con typescriptMas alla de javascript con typescript
Mas alla de javascript con typescript
 
Integrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrolloIntegrando Groovy & Grails en el proceso de desarrollo
Integrando Groovy & Grails en el proceso de desarrollo
 
Intro a Drupal 8: Drupal Global Training Day
Intro a Drupal 8: Drupal Global Training DayIntro a Drupal 8: Drupal Global Training Day
Intro a Drupal 8: Drupal Global Training Day
 
Introduccion a Elgg
Introduccion a ElggIntroduccion a Elgg
Introduccion a Elgg
 
Swift migration. the true history
Swift migration. the true historySwift migration. the true history
Swift migration. the true history
 
Seminario Grails
Seminario GrailsSeminario Grails
Seminario Grails
 
Grails en SG08
Grails en SG08Grails en SG08
Grails en SG08
 
Introducción a GitFlow
Introducción a GitFlowIntroducción a GitFlow
Introducción a GitFlow
 
Taller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD LimaTaller de Drupal #DrupalGTD Lima
Taller de Drupal #DrupalGTD Lima
 
Openwolf
OpenwolfOpenwolf
Openwolf
 

Destacado

Destacado (10)

McAdams- Resume
McAdams- ResumeMcAdams- Resume
McAdams- Resume
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Swift programming language
Swift programming languageSwift programming language
Swift programming language
 
Swift
SwiftSwift
Swift
 
Introduction to Swift programming language.
Introduction to Swift programming language.Introduction to Swift programming language.
Introduction to Swift programming language.
 
A swift introduction to Swift
A swift introduction to SwiftA swift introduction to Swift
A swift introduction to Swift
 
Swift Introduction
Swift IntroductionSwift Introduction
Swift Introduction
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 
Swift
SwiftSwift
Swift
 
Swift Programming Language
Swift Programming LanguageSwift Programming Language
Swift Programming Language
 

Similar a Swift sin hype y su importancia en el 2017

Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open sourcescrumecuador
 
An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go LangArkhotech
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientesalexis ibarra
 
Facilitando el desarrollo web móvil, frameworks nr sevilla
Facilitando el desarrollo web móvil, frameworks   nr sevillaFacilitando el desarrollo web móvil, frameworks   nr sevilla
Facilitando el desarrollo web móvil, frameworks nr sevillaRaúl Jiménez Ortega
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...Iván López Martín
 
Facilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksFacilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksPideCurso
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...Adrian Diaz Cervera
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Armando Picón Z.
 
Timerepublik
TimerepublikTimerepublik
Timerepublikbetabeers
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidadRaelyx Cordero
 
Aplicaciones Absurdamente Rápidas con Quarkus.io
Aplicaciones Absurdamente Rápidas con Quarkus.ioAplicaciones Absurdamente Rápidas con Quarkus.io
Aplicaciones Absurdamente Rápidas con Quarkus.ioFrancisco Javier Barrena
 

Similar a Swift sin hype y su importancia en el 2017 (20)

Dev ops infraestructura agil con open source
Dev ops   infraestructura agil con open sourceDev ops   infraestructura agil con open source
Dev ops infraestructura agil con open source
 
Phonegap
PhonegapPhonegap
Phonegap
 
An Evening with... Go Lang
An Evening with... Go LangAn Evening with... Go Lang
An Evening with... Go Lang
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Eleva tu capacidad con Groovy
Eleva tu capacidad con GroovyEleva tu capacidad con Groovy
Eleva tu capacidad con Groovy
 
Facilitando el desarrollo web móvil, frameworks nr sevilla
Facilitando el desarrollo web móvil, frameworks   nr sevillaFacilitando el desarrollo web móvil, frameworks   nr sevilla
Facilitando el desarrollo web móvil, frameworks nr sevilla
 
¿Por qué open source?
¿Por qué open source?¿Por qué open source?
¿Por qué open source?
 
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
101 Panel Tech Days - Spock: O por qué deberías utilizarlo para testear tu có...
 
Facilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworksFacilitando el desarrollo web móvil, frameworks
Facilitando el desarrollo web móvil, frameworks
 
Sobre GrooScript
Sobre GrooScriptSobre GrooScript
Sobre GrooScript
 
Frontend Developer
Frontend DeveloperFrontend Developer
Frontend Developer
 
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
SharePoint Saturday Barcelona. La importancia de JavaScript en nuestros desar...
 
Introducción a groovy
Introducción a groovyIntroducción a groovy
Introducción a groovy
 
Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)Desarrollo Móvil con Android (...y Firebase)
Desarrollo Móvil con Android (...y Firebase)
 
Timerepublik
TimerepublikTimerepublik
Timerepublik
 
Software en la actualidad
Software en la actualidadSoftware en la actualidad
Software en la actualidad
 
Aplicaciones Absurdamente Rápidas con Quarkus.io
Aplicaciones Absurdamente Rápidas con Quarkus.ioAplicaciones Absurdamente Rápidas con Quarkus.io
Aplicaciones Absurdamente Rápidas con Quarkus.io
 
Charla introducción a processing - 2010/09
Charla introducción a processing - 2010/09Charla introducción a processing - 2010/09
Charla introducción a processing - 2010/09
 
Go
GoGo
Go
 
JS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World ExampleJS Patterns Applied to a Real World Example
JS Patterns Applied to a Real World Example
 

Más de Software Guru

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasSoftware Guru
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesSoftware Guru
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environmentsSoftware Guru
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorSoftware Guru
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealSoftware Guru
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowSoftware Guru
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:Software Guru
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learningSoftware Guru
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDiSoftware Guru
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Software Guru
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSSoftware Guru
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...Software Guru
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?Software Guru
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Software Guru
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsSoftware Guru
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosSoftware Guru
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressSoftware Guru
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsSoftware Guru
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Software Guru
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoSoftware Guru
 

Más de Software Guru (20)

Hola Mundo del Internet de las Cosas
Hola Mundo del Internet de las CosasHola Mundo del Internet de las Cosas
Hola Mundo del Internet de las Cosas
 
Estructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso realesEstructuras de datos avanzadas: Casos de uso reales
Estructuras de datos avanzadas: Casos de uso reales
 
Building bias-aware environments
Building bias-aware environmentsBuilding bias-aware environments
Building bias-aware environments
 
El secreto para ser un desarrollador Senior
El secreto para ser un desarrollador SeniorEl secreto para ser un desarrollador Senior
El secreto para ser un desarrollador Senior
 
Cómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto idealCómo encontrar el trabajo remoto ideal
Cómo encontrar el trabajo remoto ideal
 
Automatizando ideas con Apache Airflow
Automatizando ideas con Apache AirflowAutomatizando ideas con Apache Airflow
Automatizando ideas con Apache Airflow
 
How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:How thick data can improve big data analysis for business:
How thick data can improve big data analysis for business:
 
Introducción al machine learning
Introducción al machine learningIntroducción al machine learning
Introducción al machine learning
 
Democratizando el uso de CoDi
Democratizando el uso de CoDiDemocratizando el uso de CoDi
Democratizando el uso de CoDi
 
Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0Gestionando la felicidad de los equipos con Management 3.0
Gestionando la felicidad de los equipos con Management 3.0
 
Taller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJSTaller: Creación de Componentes Web re-usables con StencilJS
Taller: Creación de Componentes Web re-usables con StencilJS
 
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...El camino del full stack developer (o como hacemos en SERTI para que no solo ...
El camino del full stack developer (o como hacemos en SERTI para que no solo ...
 
¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?¿Qué significa ser un programador en Bitso?
¿Qué significa ser un programador en Bitso?
 
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.Colaboración efectiva entre desarrolladores del cliente y tu equipo.
Colaboración efectiva entre desarrolladores del cliente y tu equipo.
 
Pruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOpsPruebas de integración con Docker en Azure DevOps
Pruebas de integración con Docker en Azure DevOps
 
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivosElixir + Elm: Usando lenguajes funcionales en servicios productivos
Elixir + Elm: Usando lenguajes funcionales en servicios productivos
 
Así publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stressAsí publicamos las apps de Spotify sin stress
Así publicamos las apps de Spotify sin stress
 
Achieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goalsAchieving Your Goals: 5 Tips to successfully achieve your goals
Achieving Your Goals: 5 Tips to successfully achieve your goals
 
Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19Acciones de comunidades tech en tiempos del Covid19
Acciones de comunidades tech en tiempos del Covid19
 
De lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseñoDe lo operativo a lo estratégico: un modelo de management de diseño
De lo operativo a lo estratégico: un modelo de management de diseño
 

Último

Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfcj3806354
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024DanielErazoMedina
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesssuserbe0d1c
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxLeidyfuentes19
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestrerafaelsalazar0615
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxJohanna4222
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdffrank0071
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfManuelCampos464987
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialEducática
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareAndres Avila
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaFernando Villares
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometriasofiasonder
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfMarianneBAyn
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Luis Fernando Uribe Villamil
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docxwerito139410
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadaspqeilyn0827
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...Kevin Serna
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.saravalentinat22
 

Último (20)

Trabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdfTrabajo Coding For kids 1 y 2 grado 9-4.pdf
Trabajo Coding For kids 1 y 2 grado 9-4.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
proyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptualesproyectos_social_y_socioproductivos _mapas_conceptuales
proyectos_social_y_socioproductivos _mapas_conceptuales
 
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptxleidy fuentes - power point -expocccion -unidad 4 (1).pptx
leidy fuentes - power point -expocccion -unidad 4 (1).pptx
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
Introducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptxIntroducción a la robótica con arduino..pptx
Introducción a la robótica con arduino..pptx
 
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdfPons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
Pons, A. - El desorden digital - guia para historiadores y humanistas [2013].pdf
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
Inteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicialInteligencia Artificial para usuarios nivel inicial
Inteligencia Artificial para usuarios nivel inicial
 
Licencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de SoftwareLicencias para el Uso y el Desarrollo de Software
Licencias para el Uso y el Desarrollo de Software
 
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...
 
Posnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativaPosnarrativas en la era de la IA generativa
Posnarrativas en la era de la IA generativa
 
lenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometrialenguaje algebraico.pptx álgebra, trigonometria
lenguaje algebraico.pptx álgebra, trigonometria
 
Unidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdfUnidad 1- Historia y Evolucion de las computadoras.pdf
Unidad 1- Historia y Evolucion de las computadoras.pdf
 
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
Sistemas distribuidos de redes de computadores en un entorno virtual de apren...
 
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
3°ð_¦_â_¾ï¸_S34 PLAN DARUKEL DIDÃ_CTICA 23-24.docx
 
herramientas informaticas mas utilizadas
herramientas informaticas mas utilizadasherramientas informaticas mas utilizadas
herramientas informaticas mas utilizadas
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
HerramientasInformaticas ¿Que es? - ¿Para que sirve? - Recomendaciones - Comp...
 
Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.Herramientas informáticas. Sara Torres R.
Herramientas informáticas. Sara Torres R.
 

Swift sin hype y su importancia en el 2017

  • 1. www.sgcampus.com.mx @sgcampus www.sgcampus.com.mx @sgcampus Francisco Granados (@gzfrancisco) ObjC/Swift senior developer and instructor github.com/gzfrancisco facebook.com/gzfrancisco
  • 2. www.sgcampus.com.mx @sgcampus @gzfrancisco • Francisco Granados • Senior developer (Web, Flash/Flex, PHP, Java, Groovy/Gradle/Grails, Ruby/Rails, C/ObjC/Swift/ RubyMotion, Elixir/Elm) • Experiencia en: • Financiero • Gobierno • Marketing • Video juegos • Startups
  • 3. www.sgcampus.com.mx @sgcampus Swift sin hype y su importancia en el 2017 • Por que un nuevo lenguaje de programación? • El trabajo con C es más difícil y resulto ser más productivo crear algo nuevo. • En donde esta Objective-C ahora? • En el mismo lugar que antes, pero tiene un lenguaje de ultima generación de quien apoyarse.
  • 5. www.sgcampus.com.mx @sgcampus Hype! • Existen personas que creen que por ser nuevo es mejor. • No es cierto. • Objective-C seguirá siendo un lenguaje de primera clase por muchos años. • Swift resuelve problemas de C, no problemas de Objective-C. • No tires tus libros de C, ni de Objective-C
  • 6. www.sgcampus.com.mx @sgcampus Como funciona? • Swift es solo el lenguaje de programación. • Objective-C utiliza una herramienta llamada CLang. • Ambos lenguajes utilizan la LLVM para transformar tu código a código de maquina. • Hay muchos otros proyectos en llvm.org para diferentes lenguajes. • Rust, Phyton, Ruby, Nim, entre otros.
  • 7. www.sgcampus.com.mx @sgcampus Lo importante • Swift es: • Principalmente funcional • No es orientado a objetos, aunque lo soporta. • No existe el concepto de null/nil, aunque lo soporta. • Todo tiene un sistema de tipos fuerte y estático. • Todo se pasa por valor. • Pero tiene que trabajar junto con C y ObjC • Por eso existen los opcionales. • Por eso tenemos clases que pasan referencias. • Por eso tenemos el soporte para POO.
  • 8. www.sgcampus.com.mx @sgcampus 2017? • En 2015 Swift se abrió al mundo con open source. • La versión 2.2 fue la más aceptada y estable. • Hace 1 semana se libero Xcode 8 y Swift 3. • Swift ya esta soportado por Linux. • En Swift 3 se cambio un poco la sintaxis, pero existe una herramienta para migrar sin tocar código. • Ya no hay hype, solo están las aportaciones realistas de los programadores open source. • Visita swift.org