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

Kotlin ❤️ Android

Kotlin ❤️ Android

Talk in the GDG Ramos Mejía talking about how Kotlin changed the game for the Android developers and what's coming in the future of Android-Kotlin relationship. Video available at https://www.youtube.com/watch?v=R6joFowaMxY

Facundo Rodríguez Arceri

August 01, 2020
Tweet

More Decks by Facundo Rodríguez Arceri

Other Decks in Technology

Transcript

  1. GDG Ramos Mejía • Introducción a Kotlin • ¿Tan importante

    es Kotlin en Android? • Kotlin en 2020 • ¿Qué se viene? ¡Hola! ¿Qué hacemos acá?
  2. 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
  3. 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
  4. GDG Ramos Mejía Features de Kotlin Generando nuevas costumbres •

    Clases ◦ data classes ◦ sealed classes • extension functions (Android KTX) • smart cast
  5. GDG Ramos Mejía Features de Kotlin Generando nuevas costumbres •

    Colecciones ◦ filter, map, first, last ◦ Pair, Triple... ◦ listOf(), mapOf(), arrayOf()... bundleOf()
  6. GDG Ramos Mejía Ni nos vimos Reemplazos modernos… ¡y esperados!

    • Kotlin Android Extensions ◦ synthetic imports • Coroutines & Flow • Jetpack: Benchmark, Paging 3… • Koin • MockK
  7. 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<Car>() every { car.drive(Direction.NORTH) } returns Outcome.OK
  8. GDG Ramos Mejía Lo que viene Próximamente • Nullability annotations

    ◦ @Nullable / @NonNull -> ⛔ ◦ @RecentlyNullable / @RecentlyNonNull -> ⚠ • Kotlin-first • Jetpack Compose
  9. GDG Ramos Mejía Kotlin 1.4 • Single Abstract Method (SAM

    convertions) ◦ Antes: sólo en Java ◦ ¿Por qué no en Kotlin? ‍♂
  10. GDG Ramos Mejía Kotlin 1.4 val asistentes = listOf( "Yury",

    "Facundo", "Luciano", "Sebastián", ) Trailling commas