A JetBrains recomendou o uso da versão 0.13 do Kotlin Toolchain para a maioria dos novos projetos Kotlin Multiplatform (KMP), como um ponto de entrada unificado para configurar o ambiente Kotlin e criar, compilar, testar e publicar aplicativos e bibliotecas. A ferramenta tem como alvo projetos JVM, Android, iOS e multiplataforma, além de aplicativos de servidor, por meio de uma configuração declarativa e de uma única interface de linha de comando.
Essa estratégia ocorre após o Kotlin Toolchain ter entrado na fase Alpha no início do ano e, posteriormente, ter reunido feedback de canais do Slack e do rastreador de problemas. Segundo a JetBrains, as melhorias na experiência de linha de comando e no ambiente de desenvolvimento, juntamente com a adição do suporte à Web e ao cinterop, levaram à recomendação da ferramenta para novos projetos, incluindo sua adoção nos guias de introdução ao KMP e nos fluxos de criação de projetos na Web e nos ambientes de desenvolvimento.
Criação de projetos e configuração do ambiente
A versão apresenta o comando kotlin new para criar um projeto por meio de um fluxo interativo semelhante ao Kotlin Multiplatform Wizard, no qual o desenvolvedor escolhe o tipo de aplicativo e, em seguida, as plataformas de destino. O comando kotlin init continua disponível, mas agora corresponde ao comportamento do novo comando, criando diretamente os arquivos do projeto na pasta atual.
A interface textual da ferramenta também exibe barras de progresso ao baixar as ferramentas necessárias, como pacotes do JDK, do Android SDK, ambientes de execução de simuladores do iOS e compiladores. No iOS, a ferramenta passou a fornecer diagnósticos mais claros para problemas de instalação do Xcode, aceitação da licença e estado da primeira execução; ela baixa um ambiente de simulador do iOS quando necessário e cria automaticamente um simulador caso não exista um.
Melhorias para Android e Apple
O mecanismo de provisionamento de componentes do Android SDK foi unificado entre a linha de comando e o ambiente de desenvolvimento; agora, os componentes ausentes podem ser baixados ao importar o projeto no IDE, em vez de aguardar a execução de um comando de compilação ou execução. A JetBrains também reforçou a verificação de namespace e application ID para evitar a publicação de aplicativos ou bibliotecas com identificadores de teste, como com.example.app. O desenvolvedor também pode acompanhar o estado da sincronização do IDE dentro do editor de arquivos.
Nas plataformas Apple, a versão adiciona suporte a dependências do Swift Package Manager, incluindo pacotes locais, dentro dos módulos compatíveis com a Apple. Isso permite importar interfaces Objective-C geradas a partir de código Objective-C ou Swift, com um nome de escopo que começa com o prefixo swiftPMImport. Ao publicar bibliotecas multiplataforma, os dados do Compose Resources e as dependências do SwiftPM são incluídos nos artefatos de compilação; também é possível resolver o Compose Resources a partir de bibliotecas multiplataforma de terceiros.
O que muda, na prática, para os desenvolvedores?
A versão reduz o número de etapas separadas necessárias para configurar projetos KMP, especialmente para desenvolvedores que alternam entre Android e iOS ou trabalham em um dispositivo limpo. As melhorias para iOS e SwiftPM têm importância prática porque abordam pontos de atrito relacionados às ferramentas nativas da plataforma Apple, enquanto o mecanismo de provisionamento do Android SDK ajuda a evitar falhas de importação antes da primeira compilação.
A ferramenta também inclui um servidor chamado Hot Reload MCP e habilidades específicas para agentes de inteligência artificial, além do pacote oficial de habilidades Kotlin, que pode ser instalado com o comando npx skills add kotlin/kotlin-agent-skills. A JetBrains afirma que testes internos demonstraram que os agentes conseguem criar e manter projetos Kotlin Toolchain com maior confiabilidade e consumir menos tokens, mas esse é um resultado divulgado pela desenvolvedora, não um padrão independente.
Aceleração do Kotlin/Native e limitações atuais
O Kotlin Toolchain armazena em cache as dependências compiladas do Kotlin/Native e as reutiliza entre processos de compilação e até entre projetos. O código do projeto também recebe um cache por arquivo, permitindo reconstruir apenas as partes afetadas durante a vinculação. O recurso baseia-se na configuração settings.kotlin.compileIncrementally e oferece suporte a arquivos .klib de depuração não otimizados nos destinos compatíveis, enquanto a compilação dos arquivos .klib continua sendo feita integralmente.
A JetBrains planeja posteriormente disponibilizar a instalação por meio de brew install kotlin, habilitar as habilidades de inteligência artificial por padrão, oferecer suporte ao Swift Export quando ele estiver estável e simplificar a publicação de aplicativos nas lojas de aplicativos. No entanto, a empresa ainda não recomenda migrar os projetos existentes baseados em Gradle, afirmando que primeiro precisa compreender o feedback dos usuários e preencher as lacunas; as próximas mudanças também podem exigir alterações nos projetos.