Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Aprendiendo Kotlin

Aprendiendo Kotlin

@gdgramosmejia #devfest19 talk with an introduction to the Kotlin Programming Language.

Avatar for Facundo Rodríguez Arceri

Facundo Rodríguez Arceri

December 07, 2019
Tweet

More Decks by Facundo Rodríguez Arceri

Other Decks in Programming

Transcript

  1. Agenda • Sobre el lenguaje • Funciones • Variables •

    Nulabilidad • Strings • Condicionales • Estructuras de repetición • Clases y objetos
  2. Sobre Kotlin • Lenguaje de programación de propósito general. •

    Orientado a Objetos + Programación Funcional. • Open Source. • Estáticamente tipado. • Desarrollado por JetBrains. • Kotlin Island != Island of Java. • Corre sobre una JVM. • Mismas convenciones que Java.
  3. Lo básico • Archivos .kt • Uso de packages, como

    en Java. • Puede declararse más de una clase por archivo. • Funciones de alto nivel. • No es necesario que las sentencias terminen en punto y coma.
  4. Funciones • Pueden retornar un valor, o no (Unit). •

    Los parámetros pueden indicarse por su nombre. • Los parámetros pueden tener valores por default.
  5. Variables • Definen su tipo. ◦ Explícitamente: Se indica. ◦

    Implícitamente: El compilador lo deduce. • Definen si son: ◦ Mutables (var) ◦ Inmutables/Constantes (val)
  6. Nulabilidad • Característica que hace seguro al lenguaje. • Para

    que una variable pueda tener el valor nulo, esto debe declararse sí o sí en su tipo, utilizando el operador ?. • Elvis operator.
  7. Clases y objetos • Se pueden definir en una sola

    línea. • Puede haber más de una por archivo. • Pueden recibir parámetros en el constructor o no. • Pueden heredar de una sola clase ◦ Por default: Any • Para poder extender una clase, esta debe ser marcada como open
  8. Magia ✨ • data class • extension functions • Implementación

    de singletons: object • sealed classes • enums • Interfaces • coroutines
  9. Links útiles • Documentación - https://kotlinlang.org/docs/reference/basic-syntax.html • Kotlin & Android

    - https://developer.android.com/kotlin • Kotlin/Everywhere Buenos Aires - https://www.youtube.com/watch?v=ySBP34IcRuc&list=PLCDIutLaQECNAam6Zf jWkV67RuUIbYt14 • Motivos para convencer a tu jefe de usar Kotlin: https://medium.com/@facundomr/six-reasons-to-convince-your-team-to-start-usi ng-kotlin-for-android-4e47c2e36546 • Código de la charla: https://gist.github.com/facundomr/8a6ef1602dc3ca8a504e44a2fe50a073