Lançado Kotlin 2.1: o que há de novo na linguagem e nas ferramentas
Em 16 de novembro de 2024, a JetBrains apresentou a versão estável do Kotlin 2.1.0 — uma grande atualização que dá continuidade ao desenvolvimento da linguagem após a transição revolucionária para o compilador K2 na versão 2.0. O novo lançamento não apenas corrige bugs, mas também introduz uma série de funcionalidades experimentais há muito aguardadas. Analisamos as principais mudanças para desenvolvedores.
Estabilização do K2: o que isso significa para o desenvolvedor
A principal novidade é que o compilador K2, que no Kotlin 2.0 era opcional, agora se tornou o padrão para projetos JVM e multiplataforma. O K2 oferece:
- Aceleração significativa da compilação (até 2–3 vezes em projetos grandes);
- Inferência de tipos aprimorada (type inference) — menos anotações explícitas;
- Mensagens de erro mais precisas e compreensíveis;
- Suporte completo ao Kotlin Multiplatform (KMP) e Compose Multiplatform.
Para desenvolvedores que usam Gradle, basta atualizar o plugin Kotlin para a versão 2.1.0 — o K2 é ativado automaticamente.
Novos recursos experimentais da linguagem
A versão 2.1 introduz várias funcionalidades preliminares, disponíveis através da anotação @OptIn. Aqui estão as mais interessantes:
- Non-local break/continue — agora é possível usar
breakecontinuedentro de expressões lambda passadas para funções inline. Isso simplifica o trabalho com loops em estilo funcional. - Explicit backing fields — nova construção para acesso direto ao campo de uma propriedade dentro do getter/setter sem chamar recursão. Simplifica a escrita de propriedades delegadas.
- Named arguments in lambda — suporte experimental para argumentos nomeados em parâmetros lambda. Torna o código com múltiplos lambdas mais legível.
Melhorias para Kotlin Multiplatform
Kotlin 2.1 é um passo importante para o desenvolvimento multiplataforma. Principais mudanças:
- Suporte completo a expect/actual para bibliotecas padrão — agora é possível declarar funções dependentes de plataforma diretamente no commonMain.
- Integração aprimorada com CocoaPods e Swift Package Manager para alvos iOS.
- Novo modo de configuração para Android: configuração automática de source sets para AGP (Android Gradle Plugin) 8.x moderno.
Atualizações no Compose Multiplatform
Para desenvolvedores de aplicativos de UI, o lançamento trouxe suporte ao Resource API — uma nova forma de trabalhar com recursos (imagens, strings, fontes) no Compose Multiplatform. Os recursos agora podem ser colocados em um módulo comum, e o plugin gera automaticamente referências type-safe para cada plataforma. Isso simplifica a criação de aplicativos multiplataforma com lógica de renderização unificada.
Como atualizar para o Kotlin 2.1
A atualização é trivial para projetos no Gradle. Adicione no build.gradle.kts:
plugins { kotlin("jvm") version "2.1.0" // ou kotlin("multiplatform") version "2.1.0"}A JetBrains recomenda, antes de atualizar, executar o projeto com a flag --warning-mode all para verificar a compatibilidade com o novo compilador. Para Int