~/VibeHandbook
PDF grátis

App / Mobile

kotlinlang.org

Kotlin

O que é

Pense em um adaptador universal de tomada que permite que um único plugue funcione nas tomadas de vários países. A Java Virtual Machine (JVM, Máquina Virtual Java) cumpre esse papel para o software: é um motor que executa o mesmo programa em muitos tipos diferentes de computadores. Kotlin é uma linguagem moderna, de tipagem estática, criada pela JetBrains, que roda na JVM e interopera totalmente com Java. O Google a tornou a linguagem preferida para desenvolvimento Android, e ela também é usada em código server-side, lógica compartilhada multiplataforma e até em compilação para código nativo ou JavaScript. Seu objetivo é ser concisa, segura e pragmática — Java sem a cerimônia.

Pontos fortes

  • Segurança contra nulos (null safety) embutida no sistema de tipos, eliminando a maioria dos travamentos por NullPointerException.
  • Concisa: data classes, funções de extensão e smart casts reduzem drasticamente o código repetitivo (boilerplate).
  • Interoperabilidade perfeita com Java — use qualquer biblioteca Java, migre arquivo por arquivo.
  • Coroutines de primeira classe para código assíncrono e concorrente mais legível.
  • O Kotlin Multiplatform permite compartilhar lógica de negócio entre Android, iOS e .

Contrapartidas

  • A compilação pode ser mais lenta que a do Java em projetos grandes.
  • A JVM implica um runtime e alguma sobrecarga de inicialização em comparação com linguagens nativas.
  • Multiplatform e Kotlin/Native estão amadurecendo, mas ainda são menos testados em batalha do que o alvo JVM.
  • Alguns recursos avançados (coroutines, DSLs) têm uma curva de aprendizado.

Quando usar

Recorra ao Kotlin para qualquer novo aplicativo Android, e considere-o para serviços de backend em JVM onde você queira um código mais seguro e enxuto do que o Java. É uma opção padrão sólida em qualquer lugar onde o ecossistema da JVM se encaixe.

Encaixe no vibe coding

Kotlin funciona bem com assistentes de IA porque seus idiomas concisos significam menos código para gerar e revisar, e a segurança contra nulos expõe erros em tempo de compilação. Peça ao modelo para preferir val imutável em vez de var, para usar data classes para modelos, e para escrever funções suspensas (suspending functions) com coroutines em vez de threads manuais. Ao mirar no Android, faça-o combinar Kotlin com o Jetpack Compose, para que UI e lógica compartilhem uma única linguagem moderna.

data class User(val name: String, val active: Boolean = true)

fun activeNames(users: List<User>): List<String> =
    users.filter { it.active }.map { it.name }

fun main() {
    val users = listOf(User("Ada"), User("Lin", active = false))
    println(activeNames(users))
}