GDG Ramos Mejía
● Introducción a Kotlin
● ¿Tan importante es Kotlin en Android?
● Kotlin en 2020
● ¿Qué se viene?
¡Hola!
¿Qué hacemos acá?
Slide 3
Slide 3 text
GDG Ramos Mejía
¿Por qué es importante Kotlin?
La historia te dice quién sos
● Java
● Todo tiene sus pros y cons…
○ JVM -> Upgrade
Slide 4
Slide 4 text
GDG Ramos Mejía
Nuevo estándar
Slide 5
Slide 5 text
GDG Ramos Mejía
Features de Kotlin
Generando nuevas costumbres
● lateinit var
● Delegates: by lazy
● Evitar usar tipos que soporten null
● unwrapping !!
● high order functions
○ let, also, apply, with, run
Slide 6
Slide 6 text
GDG Ramos Mejía
Features de Kotlin
Generando nuevas costumbres
● Clases
○ data classes
○ sealed classes
● extension functions (Android KTX)
● smart cast
Slide 7
Slide 7 text
GDG Ramos Mejía
Features de Kotlin
Generando nuevas costumbres
● Colecciones
○ filter, map, first, last
○ Pair, Triple...
○ listOf(), mapOf(), arrayOf()... bundleOf()
GDG Ramos Mejía
MockK
// Mockito
val car = Mockito.mock(Car::class.java)
Mockito.`when`(car.drive(Direction.NORTH)).thenReturn(Outcome.OK)
// MockK
val car = mockk()
every { car.drive(Direction.NORTH) } returns Outcome.OK
Slide 11
Slide 11 text
GDG Ramos Mejía
¿Y ahora?
Slide 12
Slide 12 text
GDG Ramos Mejía
Lo que viene
Próximamente
● Nullability annotations
○ @Nullable / @NonNull -> ⛔
○ @RecentlyNullable / @RecentlyNonNull -> ⚠
● Kotlin-first
● Jetpack Compose
Slide 13
Slide 13 text
GDG Ramos Mejía
Kotlin 1.4
● Single Abstract Method (SAM convertions)
○ Antes: sólo en Java
○ ¿Por qué no en Kotlin? ♂