Perguntas frequentes sobre o Kotlin no Android

Por que o Android transformou o Kotlin em uma linguagem compatível de primeira classe?

O Kotlin é uma linguagem compatível com Android concisa, expressiva e projetada para ser type- e null-safe (ter segurança de tipos e de nulos). Ele funciona perfeitamente com a linguagem Java, portanto, os desenvolvedores que gostam de Java podem continuar a utilizá-lo, ao mesmo tempo que adicionam código Kotlin e usam as bibliotecas dessa linguagem. Além disso, muitos desenvolvedores Android já descobriram que o Kotlin torna o desenvolvimento mais rápido e divertido, então queremos oferecer um suporte melhor a esses usuários do Kotlin. Leia mais sobre a abordagem Kotlin primeiro no Android.

Como usar o Kotlin com o Android Studio?

O Kotlin é totalmente compatível com o Android Studio. Todas as novas versões do Android Studio são compatíveis com a criação de novos projetos com arquivos Kotlin, conversão de código em linguagem Java para Kotlin, depuração de código Kotlin e muito mais.

Como depurar o Kotlin no Android Studio?

A depuração de Kotlin funciona exatamente como a depuração de código Java. Não é necessário fazer nada diferente.

Que outro tipo de compatibilidade com ambiente de desenvolvimento integrado é oferecido para o Kotlin (como lint, preenchimento automático e refatoração)?

A partir do Android Studio 3.0, o ambiente de desenvolvimento integrado oferece compatibilidade completa a ferramentas para o Kotlin. No entanto, há alguns problemas e limitações conhecidos em que estamos trabalhando.

Qual é o futuro do Kotlin?

O trabalho cuidadoso da JetBrains no desenvolvimento do Kotlin é uma das razões de estarmos adotando essa linguagem. O Google fez uma parceria com a JetBrains para garantir uma experiência incrível para os desenvolvedores, desde a linguagem até a estrutura e as ferramentas. Estamos animados em trabalhar juntos para transformar a linguagem Kotlin em uma fundação sem fins lucrativos.

O Kotlin é de código aberto?

A licença preferencial para o Kotlin é a Licença de Software Apache, versão 2.0 ("Apache 2.0", link em inglês), e a maioria do software Kotlin é licenciada sob ela. Embora o projeto se esforce para aderir à licença preferencial, pode haver exceções, que serão tratadas caso a caso. Por exemplo, algumas dependências de terceiros usadas pelo Kotlin podem ter outras licenças de código aberto que ainda sejam compatíveis com a licença Apache 2.

Como faço para escolher entre as linguagens Java e Kotlin?

Não é necessário escolher. Você pode usar as duas juntas como quiser. Se precisar de ajuda para descobrir se o Kotlin é adequado para você, faça um teste no Android ou saiba mais sobre a linguagem com estes recursos sobre o Kotlin.

Posso fazer chamadas de APIs do Android ou de outras APIs da biblioteca da linguagem Java pelo Kotlin?

Sim. O Kotlin fornece interoperabilidade com a linguagem Java. Esse design permite que o código Kotlin chame métodos da linguagem Java de forma transparente, junto com anotações que facilitam a exposição de funcionalidades exclusivas do Kotlin a códigos Java. Arquivos Kotlin que não usam semântica específica do Kotlin podem ser referenciados diretamente a partir de código Java, sem nenhuma anotação. Isso permite combinar código Java com código Kotlin de forma granular. Para saber mais, consulte a documentação de interoperabilidade do Kotlin.

Vocês têm documentos de referência do Kotlin para APIs do Android?

Sim. Estamos trabalhando para disponibilizar toda a documentação de APIs do Android com referências do Kotlin idiomático. Você pode encontrar links para os documentos de referência do Kotlin disponíveis na página de visão geral de referência do Android. Se você estiver procurando referências básicas da linguagem Kotlin, consulte a referência da biblioteca padrão Kotlin (link em inglês).

Posso usar arquivos Java e Kotlin no mesmo projeto?

Sim. É possível adotar a quantidade de Kotlin que você quiser e combiná-lo com Java usando a interoperabilidade do Kotlin com o Java.

Posso usar o Kotlin com o C++?

Sim, o JNI tem compatibilidade total com Kotlin. Marque o método JNI com o modificador externo ( link em inglês).

Como faço para adicionar o Kotlin aos meus novos projetos?

Ao criar novos projetos, o Kotlin agora é a opção de idioma padrão no Android Studio. Para mais informações, consulte Criar um projeto.

Como faço para adicionar o Kotlin aos meus projetos já existentes?

Selecione seu módulo na janela Project, clique em File > New, escolha um modelo Android e, em seguida, selecione Kotlin em Source language. Para mais informações, consulte Adicionar o Kotlin a um app existente.

Como faço para converter código da linguagem Java em Kotlin?

Abra um arquivo Java e selecione Code > Convert Java File to Kotlin File. Ou crie um novo arquivo Kotlin (File > New > Kotlin File/Class) e cole o código Java nesse arquivo. Quando solicitado, clique em Yes para converter o código em Kotlin.

Haverá documentação, amostras, codelabs e modelos paralelos no Kotlin?

Estamos trabalhando para tornar nossa documentação e nossos materiais educacionais o mais úteis possível para os usuários das linguagens Java e Kotlin. Enquanto isso, os desenvolvedores podem confiar na excelente interoperabilidade do Kotlin com a linguagem Java e na capacidade de traduzir automaticamente código da linguagem Java para Kotlin no Android Studio.

As corrotinas do Kotlin funcionam no Android? E os recursos de async/await?

As corrotinas de Kotlin são estáveis desde a versão 1.3 do Kotlin e funcionam como deveriam no Android. Para ver mais informações sobre o uso de corrotinas com Android, consulte Melhorar o desempenho do app com corrotinas de Kotlin.

O uso do Kotlin tem algum impacto no desempenho?

O Kotlin não tem impacto direto no desempenho, mas, assim como na linguagem Java, tenha cautela em relação ao modo como o utiliza. Por exemplo, uma cópia repetida entre novas instâncias de coleções pode afetar o desempenho do GC. A chamada de um método que aceite tipos não nulos adiciona uma chamada de método para a verificação de objetos nulos, embora seja possível desativar as verificações de objetos nulos do ambiente de execução no compilador usando -Xno-param-assertions.

Quais versões do Android têm compatibilidade com o Kotlin?

Todas elas. O Kotlin é compatível com o JDK 6, portanto, apps com Kotlin são executados de modo seguro em versões mais antigas do Android.

Onde posso saber mais informações sobre o uso do Kotlin?

Confira Outros recursos do Kotlin.