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

De java para Kotlin: Como aprender e liderar t...

De java para Kotlin: Como aprender e liderar times nessa linguagem

More Decks by Kamila de fatima santos oliveira

Transcript

  1. KAMILA CODE KAMILA CODE Staff Software Engineer na Creditas Ceo

    da Kamila Code treinamento em tecnologia Github Star Pos graduada em Arquitetura de Soluções KAMILA CODE
  2. KAMILA CODE Extension functions Kotlin te deixa adicionar funcionalidades a

    qualquer classe — sem herança e sem mexer no código original.
  3. KAMILA CODE Checked Exceptions No Java, o compilador exige que

    você trate exceções checadas (como IOException, SQLException, etc.).
  4. KAMILA CODE Padronização e maturidade do ecossistema Frameworks como Spring,

    Jakarta EE, e ferramentas como Maven ou Gradle foram feitas para Java — Kotlin só “se encaixa”.
  5. KAMILA CODE Performance de build (em alguns cenários) Por ser

    uma linguagem mais simples, com menos mágica e transformações em tempo de compilação, Java tende a compilar mais rápido, especialmente em projetos muito grandes.
  6. KAMILA CODE Performance de build (em alguns cenários) Kotlin ainda

    está evoluindo nesse ponto. A introdução do Kotlin K2 (novo compilador) melhora isso, mas em muitos projetos Java ainda vence nesse quesito.
  7. KAMILA CODE Null Safety Você vai precisar reaprender a pensar

    em null. Diferença entre val nome: String e val nome: String? Safe calls: ?. Elvis operator: ?: Not-null assertion: !! Uso de let, run, also, apply com objetos nulos
  8. KAMILA CODE Sintaxe funcional e expressiva Kotlin é muito mais

    declarativo. filter, map, flatMap, groupBy, fold, etc. forEach, takeIf, takeUnless Lambdas e funções inline Operadores como in, .., !in, is, as?
  9. KAMILA CODE Coroutines e concorrência leve Java tem threads. Kotlin

    tem corrotinas — e é outro jogo. suspend functions withContext, launch, async, runBlocking Flow vs Channel Structured concurrency
  10. KAMILA CODE Extensions, lambdas e higher- order functions Essa é

    a parte que mais assusta quem vem de Java. Extension functions e extension properties Lambdas com receiver (e.g., apply, with) Funções que recebem outras funções como parâmetro DSLs: como o Kotlin te dá poder de criar sua própria linguagem
  11. KAMILA CODE Interop com Java e anotations Como chamar código

    Java de Kotlin (e vice-versa) Cuidados com nullability ao interagir com bibliotecas Java Anotações como @JvmStatic, @JvmOverloads, @JvmField
  12. KAMILA CODE Orientação a objeto “repensada” Você vai repensar conceitos

    que já conhece: open, final e override obrigatórios object como singleton companion object para membros estáticos
  13. KAMILA CODE Mas como consertar o avião com ele voando

    ? Digo, aprender Kotlin com a Sprint andando ?