O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

De Java a Swift pasando por Groovy

1.695 visualizações

Publicada em

Comparativa de 3 lenguajes para el desarrollo de aplicaciones móviles: Java y Groovy para Android y Swift para iOS.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

De Java a Swift pasando por Groovy

  1. 1. Salenda De Java a Swift pasando por Groovy Codemotion ’16 Alberto De Ávila Hernández
  2. 2. S O B R E M Í ✴ Ingeniero Informático ✴ Team Lead en Salenda ✴ Groovy y Grails dev ✴ Aprendiz de Swift @alberto_deavila
  3. 3. S O F T WA R E D E V E L O P M E N T Desarrollos personalizados Atlassian Experts Formación y consultoría @alberto_deavila
  4. 4. E X P E R I E N C I A P E R S O N A L @alberto_deavila Mi experiencia personal
  5. 5. I N T R O D U C C I Ó N A L O S L E N G U A J E S
  6. 6. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  7. 7. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  8. 8. I N T R O D U C C I Ó N A G R O O V Y @alberto_deavila ¿Qué es Groovy?
  9. 9. I N T R O D U C C I Ó N A G R O O V Y @alberto_deavila ✴ Lenguaje ejecutado sobre JVM ✴ Fácil para desarrolladores Java ✴ Lenguaje dinámico y/o estático ✴ Más legible ✴ Scripting y Android ✴ Apps: Grails, Griffon, Grain y Plugins
  10. 10. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  11. 11. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  12. 12. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  13. 13. I N T R O D U C C I Ó N A S W I F T @alberto_deavila ¿Qué es Swift?
  14. 14. I N T R O D U C C I Ó N A S W I F T @alberto_deavila ✴ Lenguaje de desarrollo para iOS ✴ Sustituto de Objetive-C ✴ Lenguaje estático ✴ Expresivo, rápido y potente ✴ Frameworks web con Swift: Perfect, Vapor, IBM Kitura...
  15. 15. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  16. 16. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  17. 17. I N T R O D U C C I Ó N A L O S L E N G U A J E S @alberto_deavila
  18. 18. J AVA < - > G R O O V Y < - > S W I F T @alberto_deavila Tipos de datos
  19. 19. T I P O S D E D AT O S @alberto_deavila
  20. 20. T I P O S D E D AT O S @alberto_deavila
  21. 21. T I P O S D E D AT O S @alberto_deavila
  22. 22. T I P O S D E D AT O S @alberto_deavila
  23. 23. T I P O S D E D AT O S @alberto_deavila
  24. 24. T I P O S D E D AT O S @alberto_deavila
  25. 25. T I P O S D E D AT O S @alberto_deavila Quiz: Tipos de datos
  26. 26. T I P O S D E D AT O S @alberto_deavila A. Error de compilación B. NPE C. 3 y 11 D. 0 y 11
  27. 27. T I P O S D E D AT O S @alberto_deavila A. Error de compilación B. NPE C. 3 y 11 D. 0 y 11
  28. 28. T I P O S D E D AT O S @alberto_deavila A.3 2 true null B.3 2 MethodNotFound null C.3 2 true MethodNotFound D.3 MethodNotFound(x2) null
  29. 29. T I P O S D E D AT O S @alberto_deavila A.3 2 true null B.3 2 MethodNotFound null C.3 2 true MethodNotFound D.3 MethodNotFound(x2) null
  30. 30. T I P O S D E D AT O S @alberto_deavila A.Codemotion ’16 3.3 Hola! B.No compila C.Codemotion ’16 3.3 D.Codemotion 3.3 Hola!
  31. 31. T I P O S D E D AT O S @alberto_deavila A.Codemotion ’16 3.3 Hola! B.No compila C.Codemotion ’16 3.3 D.Codemotion 3.3 Hola!
  32. 32. J AVA < - > G R O O V Y < - > S W I F T @alberto_deavila Operadores
  33. 33. O P E R A D O R E S @alberto_deavila ✴ Arítmeticos ✴ Lógicos ✴ instanceof ✴ Bits ✴ Double colon (::)
  34. 34. O P E R A D O R E S @alberto_deavila
  35. 35. @alberto_deavila O P E R A D O R E S ✴ Groovy Truth* ✴ Elvis ✴ Spread ✴ Safe operator ✴ Sobrecarga de operadores
  36. 36. @alberto_deavila O P E R A D O R E S
  37. 37. @alberto_deavila O P E R A D O R E S
  38. 38. @alberto_deavila O P E R A D O R E S ✴ Rangos ✴ Operadores de overflow ✴ Operador Nil-Coalescing ✴ Operador de comprobador de tipo
  39. 39. @alberto_deavila O P E R A D O R E S
  40. 40. @alberto_deavila O P E R A D O R E S
  41. 41. O P E R A D O R E S @alberto_deavila Quiz: Operadores
  42. 42. O P E R A D O R E S @alberto_deavila A. true false false B. false false false C. Produce una excepción D. true true false
  43. 43. O P E R A D O R E S @alberto_deavila A. true false false B. false false false C. Produce una excepción D. true true false
  44. 44. O P E R A D O R E S @alberto_deavila A. 6 B. 7 C. optional(6) D. optional(7)
  45. 45. O P E R A D O R E S @alberto_deavila A. 6 B. 7 C. optional(6) D. optional(7)
  46. 46. J AVA < - > G R O O V Y < - > S W I F T @alberto_deavila Estructuras de control
  47. 47. M É T O D O S @alberto_deavila ✴ for / while / do-while ✴ switch / if / else ✴ return / break ✴try / catch
  48. 48. @alberto_deavila E S T R U C T U R A S D E C O N T R O L ✴ each / times ✴ switch ✴ collect ✴ find / findAll / count
  49. 49. @alberto_deavila E S T R U C T U R A S D E C O N T R O L
  50. 50. @alberto_deavila E S T R U C T U R A S D E C O N T R O L
  51. 51. @alberto_deavila E S T R U C T U R A S D E C O N T R O L
  52. 52. @alberto_deavila E S T R U C T U R A S D E C O N T R O L ✴ for-in ✴ repeat-while ✴ switch ✴ guard
  53. 53. @alberto_deavila E S T R U C T U R A S D E C O N T R O L
  54. 54. @alberto_deavila E S T R U C T U R A S D E C O N T R O L
  55. 55. E S T R U C T U R A S D E C O N T R O L @alberto_deavila Quiz: Estructuras de control
  56. 56. @alberto_deavila E S T R U C T U R A S D E C O N T R O L A. 1 B. 2 C. 3 D. No compila
  57. 57. @alberto_deavila E S T R U C T U R A S D E C O N T R O L A. 1 B. 2 C. 3 D. No compila
  58. 58. J AVA < - > G R O O V Y < - > S W I F T @alberto_deavila Métodos
  59. 59. M É T O D O S @alberto_deavila ✴ Public / Protected / Private ✴ void / return ✴ Permite sobrecarga
  60. 60. @alberto_deavila M É T O D O S ✴ Parámetros por defecto ✴ Múltiples retornos ✴ Return no obligatorio ✴ Sobrecarga ✴ Closures
  61. 61. @alberto_deavila M É T O D O S
  62. 62. @alberto_deavila M É T O D O S
  63. 63. @alberto_deavila M É T O D O S ✴ Parámetros por defecto ✴ Múltiples retornos* ✴ Argumentos etiquetados ✴ Argumentos especiales
  64. 64. @alberto_deavila M É T O D O S
  65. 65. @alberto_deavila M É T O D O S
  66. 66. @alberto_deavila M É T O D O S
  67. 67. M É T O D O S @alberto_deavila Quiz: Métodos
  68. 68. @alberto_deavila M É T O D O S A. No compila B. No a String: y: 2016 C. y: 2016 D. -->y: 2016
  69. 69. @alberto_deavila M É T O D O S A. No compila B. No a String: y: 2016 C. y: 2016 D. -->y: 2016
  70. 70. @alberto_deavila M É T O D O S A. No compila B. 10 C. 100 D. 200
  71. 71. @alberto_deavila M É T O D O S A. No compila B. 10 C. 100 D. 200
  72. 72. J AVA < - > G R O O V Y < - > S W I F T @alberto_deavila Clases
  73. 73. @alberto_deavila C L A S E S ✴ Constructores ✴ Getters ✴ Setters ✴ Otros métodos particulares
  74. 74. @alberto_deavila C L A S E S ✴ Constructores por defecto ✴ Getters y Setters solo para sobreescritura
  75. 75. @alberto_deavila C L A S E S
  76. 76. @alberto_deavila C L A S E S ✴ Clases y Estructuras ✴ Almacenan valores ✴ Constructores ✴ Métodos
  77. 77. @alberto_deavila C L A S E S
  78. 78. @alberto_deavila C L A S E S
  79. 79. @alberto_deavila C L A S E S ✴ Capacidades solo en Clases ✴ Herencia ✴ Destructores ✴ Multiples referencias a una instancia
  80. 80. C L A S E S @alberto_deavila Quiz: Clases
  81. 81. @alberto_deavila C L A S E S A. No compila B. alberto de avila C. albertodeavila D. alberto deavila
  82. 82. @alberto_deavila C L A S E S A. No compila B. alberto de avila C. albertodeavila D. alberto deavila
  83. 83. @alberto_deavila C L A S E S A. No compila B. Error runtime C. 1 D. 2
  84. 84. @alberto_deavila C L A S E S A. No compila B. Error runtime C. 1 D. 2
  85. 85. C O N C L U S I O N E S @alberto_deavila Conclusiones
  86. 86. B U S C A M O S C O M PA Ñ E R O S Buscamos nuevos compañeros Groovy / iOS + Android / Devops hello@salenda.es @alberto_deavila
  87. 87. Salenda ¡Muchas gracias! @alberto_deavila ¿Preguntas?

×