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

Kotlin 1.4-M1 Preview: O que vem por aí?

Kotlin 1.4-M1 Preview: O que vem por aí?

This talk was held during an online edition of Kotlin Meetup São Paulo, that happened on April 28th.

The talk was about what's new on the Kotlin 1.4-M1 preview, and what features and new APIs are available on this release.

The content is in pt-BR.

More info: https://www.meetup.com/pt-BR/kotlin-meetup-sp/events/270157575/
Video: https://www.youtube.com/watch?v=2OsaHC9HpYE

Walmyr Carvalho

April 28, 2020
Tweet

More Decks by Walmyr Carvalho

Other Decks in Technology

Transcript

  1. Kotlin 1.4 Preview:
    O que vem por aí?
    Walmyr Carvalho
    Mobile Technical Leader @ idwall, Founder @ Kusudama
    Google Developer Expert, Android
    @walmyrcarvalho

    View full-size slide

  2. Olá, pessoal!
    Meu nome é Walmyr Carvalho,
    muito prazer! :)

    View full-size slide

  3. Trabalho com desenvolvimento Android há 10
    anos e sou um Google Developer Experts de
    Android no Brasil há 4 anos.
    Além disso, estou muito próximo da
    comunidade nacional de Android, sendo
    organizador do Kotlin Meetup São Paulo e do
    Android Dev BR, a maior comunidade lusófona
    de Android do mundo, com mais de 6700
    pessoas!
    Também apoio o empreendedorismo nacional,
    sendo mentor de Android e mobile no Google
    for Startups Accelerator e na ACE Startups.

    View full-size slide

  4. Já ajudei a evoluir produtos mobile
    para empresas como Loggi, 99, Cielo,
    CI&T, Hotel Urbano e Globo Esporte,
    durante mais de 9 anos de carreira
    como especialista em Android.
    Fonte: Google Play

    View full-size slide

  5. Nesse ano fundei a Kusudama,
    um estúdio de desenvolvimento e
    design de produtos digitais para
    Android e iOS, que tem como seu
    objetivo criar experiências que
    tratem seus usuários com respeito
    dentro do universo mobile.

    View full-size slide

  6. Recentemente me juntei ao
    grande time da idwall como
    Mobile Technical Leader, com o
    objetivo de criar a próxima
    plataforma de identidade digital
    brasileira no mobile, além de
    soluções para empresas que
    buscam aumentar a confiança na
    identificação dos seus usuários.

    View full-size slide

  7. Evolução da linguagem Kotlin!
    Como estamos nesse aspecto?

    View full-size slide

  8. A linguagem Kotlin começou seu desenvolvimento em
    2011, tendo a sua versão 1.0 lançada há 3 anos e 4
    meses atrás, em Fevereiro de 2016!

    View full-size slide

  9. Fonte: JetBrains

    View full-size slide

  10. De lá pra cá, ela vem evoluindo muito bem desde,
    o que é um ótimo sinal! ❤

    View full-size slide

  11. Kotlin (JetBrains) - GitHub
    github.com/jetbrains/kotlin

    View full-size slide

  12. A empresa vem colhendo uma série de feedbacks com
    a comunidade de pessoas profissionais Kotlin, o que
    acaba ajudando a guiar o futuro da linguagem
    também!

    View full-size slide

  13. Kotlin Census 2018
    Resultado da pesquisa
    jetbrains.com/research/kotlin-census-2018/
    Fonte: JetBrains

    View full-size slide

  14. Kotlin Census 2019: Call for Respondents
    Resultados em breve!
    tinyurl.com/kotlin-census-c4r
    Fonte: JetBrains

    View full-size slide

  15. Um ponto importante de se mencionar: qualquer
    pessoa pode fazer contribuições ou propostas para a
    linguagem, o que é algo ótimo! ✨

    View full-size slide

  16. KEEP - Kotlin Evolution and
    Enhancement Process (GitHub)
    Repositório de propostas para a
    evolução da linguagem
    github.com/kotlin/KEEP

    View full-size slide

  17. E recentemente a JetBrains anunciou o 1.4 Preview,
    trazendo uma série de novidades tanto pela empresa
    quanto por pessoas contribuidores externas! ✨

    View full-size slide

  18. Kotlin 1.4-M1 Preview
    Artigo no blog oficial da empresa
    tinyurl.com/blog-kotlin-1-4-m1
    Fonte: JetBrains

    View full-size slide

  19. Kotlin 1.4!
    O que temos de legal?

    View full-size slide

  20. SAM (single abstract method) para interfaces:
    fun interface Action {
    fun run()
    }
    fun runAction(a: Action) = a.run()
    fun main() {
    runAction {
    println("Hello, Kotlin 1.4!")
    }
    }

    View full-size slide

  21. Melhorias nos algoritmos de type inference:
    val rulesMap: Map Boolean> = mapOf(
    "weak" to { it != null },
    "medium" to { !it.isNullOrBlank() },
    "strong" to { it != null && "^[a-zA-Z0-9]+$".toRegex().matches(it) }
    )

    View full-size slide

  22. Acceso a membros via Smart Cast:
    fun perform(animal: Animal) {
    val kFunction: KFunction<*> = when (animal) {
    is Cat -> animal::meow
    is Dog -> animal::woof
    }
    kFunction.call()
    }

    View full-size slide

  23. fun foo(i: Int = 0): String = "$i!"
    fun apply1(func: () -> String): String = func()
    fun apply2(func: (Int) -> String): String = func(42)
    fun main() {
    println(apply1(::foo))
    println(apply2(::foo))
    }
    Melhorias na referência de callables:

    View full-size slide

  24. fun foo(i: Int = 0): String = "$i!"
    fun apply1(func: () -> String): String = func()
    fun apply2(func: (Int) -> String): String = func(42)
    fun main() {
    println(apply1(::foo))
    println(apply2(::foo))
    }
    Melhorias na referência de callables:

    View full-size slide

  25. package blogpost
    @JsExport
    class KotlinGreeter(private val who: String) {
    fun greet() = "Hello, $who!"
    }
    @JsExport
    fun farewell(who: String) = "Bye, $who!"
    fun secretGreeting(who: String) = "Sup, $who!" //
    only from Kotlin!
    Export de declarações para JS

    View full-size slide

  26. Como utilizar a nova versão?
    Tools > Kotlin > Configure Kotlin Plugin Updates
    Update Channel > Early Access Preview 1.4.x
    E é só instalar! :)

    View full-size slide

  27. Se eu quiser aprender mais sobre,
    onde eu posso encontrar material?

    View full-size slide

  28. Kotlin - JetBrains
    Página oficial
    kotlinlang.org Fonte: JetBrains

    View full-size slide

  29. KEEP - Kotlin Evolution and
    Enhancement Process (GitHub)
    Repositório de propostas para a
    evolução da linguagem
    github.com/kotlin/KEEP

    View full-size slide

  30. Android Dev BR - Comunidade
    Maior comunidade lusófona de Android no
    Slack, com mais de 6.700 pessoas! ❤✨
    slack.androiddevbr.org

    View full-size slide

  31. Perguntas?
    Ficou alguma dúvida?

    View full-size slide

  32. Muito obrigado!
    Se tiver qualquer dúvida ou sugestão,
    pode falar comigo. ❤
    @walmyrcarvalho
    /walmyrcarvalho
    [email protected]

    View full-size slide