O que talvez pudesse ser encarada como uma curiosidade, uma linguagem emergente entre tantas outras, mudou radicalmente em Maio deste ano: o Google anunciou que Kotlin se tornaria uma linguagem oficial da plataforma Android.
É um reconhecimento merecido para a linguagem de programação criada pela JetBrains e a consolidação de uma parceria forte entre o Google e a empresa, além de um grito de alforria do vetusto Java. Se a linguagem desenvolvida pela Sun trouxe o Android até esse momento, certamente será o Kotlin que o levará além, até por que a Oracle, herdeira da Sun, segue brigando com o Google a respeito do Java. É a oportunidade perfeita para desenvolvedores e iniciantes mergulharem de cabeça em um novo horizonte enquanto ele ainda está sendo construído.
Embora esse artigo não tenha a pretensão de ensinar a você como programar em Kotlin, nosso objetivo é apontar a direção certa para mergulhar de cabeça na linguagem.
1) Introdução ao Kotlin
Embora aqui mesmo no Código Fonte nós tenhamos uma categoria dedicada ao Kotlin, ela ainda é bastante limitada em conteúdo e pode, e deve, ser complementada com fontes adicionais.
Então, o caminho mais óbvio para dar os passos iniciais na linguagem é através do site oficial administrado pela Jet Brains. No endereço é possível encontrar um guia prático para iniciantes, com as noções iniciais da sintaxe e acesso a um editor online para praticar em tempo real, com uma vasta seleção de exercícios. Para quem deseja uma abordagem mais passo a passo, o site oficial também conta com tutoriais específicos, divididos em áreas de conhecimento.
É possível também pular etapas e ir direto para toda a documentação técnica oficial da plataforma (PDF). Para quem deseja acompanhar as novidades na linguagem, assim como dicas e oportunidades, o blog oficial é um excelente canal de comunicação.
Para quem tem interesse em aprender Kotlin especialmente para a plataforma Android, uma boa fonte de consulta é o guia oficial da plataforma para Kotlin, que fornece um ponto de partida para o aprendizado mais focado.
De qualquer forma, é necessário ter conhecimento de inglês, como acontece na maioria dos casos para quem deseja aprender uma linguagem de programação. Sendo uma linguagem relativamente nova, é raro encontrar material disponível em nosso idioma.
2) Cursos Online Econômicos
Quer você seja um autodidata ou não, um bom curso pode ajudar a iniciar sua caminhada em uma nova caminhada, afiar os conhecimentos que você já tem ou mesmo ensinar truques e meandros da linguagem que você não havia percebido. Em muitos casos, nem precisa gastar muito dinheiro:
- Udemy: Kotlin for Beginners: Learn Programming With Kotlin – Em Inglês. Carga horária: 7 horas. Custo: R$20.
- Udemy: Curso Desenvolvedor Kotlin – Em Português. Carga horária: 8 horas. Custo: R$20.
- Udemy: Curso completo de Kotlin para Android – Em Português. Carga horária: 12 horas. Custo: R$49.
- Kotlin for Java Developers – Em Inglês. Carga horária: 2 horas. Custo: gratuito.
- Kotlin Beginner Tutorials – Em Inglês. Carga horária: 1 hora. Custo: gratuito.
- Getting Started with Kotlin – Em Inglês. Carga horária: 2 horas. Custo: gratuito.
- Functional Programming with Kotlin – Em Inglês. Carga horária: 1 hora. Custo: gratuito.
3) Ferramentas
A ferramenta certa para a tarefa certa é fundamental para se aventurar em uma nova linguagem de programação. Felizmente, apesar da jovem idade, já existe todo um ecossistema de programas focados para desenvolvedores de Kotlin:
- Android Studio: Esse é o editor básico da plataforma, com suporte oficial ao Kotlin. Gratuito.
- Eclipse: Outro poderoso IDE para se trabalhar com a linguagem, uma vez instalado o plugin de suporte. Gratuito.
- InteliJ IDEA: Editor oficial da Jet Brains. Com versões gratuita e profissional.
- Kanvas: editor alternativo, leve e altamente customizável. Gratuito.
- Kotlin for Vim: plugin para suporte a Kotlin no Vim. Gratuito.
- Kotlin Sublime Text 2 Package: plugin para suporte a Kotlin no Visual Studio Code. Gratuito.
- VS Code Kotlin: plugin para suporte a Kotlin no Vim. Gratuito.
- Atom Kotlin: plugin para suporte a Kotlin no Atom. Gratuito.
- NppExtension: plugin para suporte a Kotlin no notepad++. Gratuito.
- Kotlin for Textmate: plugin para suporte a Kotlin no Textmate. Gratuito.
- Spek: Um framework de especificação para o Kotlin. Gratuito.
- Detekt : analisador de código estático para Kotlin. Gratuito.
- Dokka: ferramenta de documentação. Gratuito.
- Kscript: utilitários de script para Kotlin. Gratuito.
- KotlinW: ferramenta de compilação que pode ser utilizada para executar scripts .kts. Gratuito.
- TornadoFX: framework de JavaFX de desktop para Kotlin. Gratuito.
- Fuel: biblioteca de rede HTTP para Kotlin/Android. Gratuito.
- Klutter: coleção de bibliotecas com diferentes utilidades. Gratuito.
- Kotlift: tradutor de código que converte de Kotlin para Swift. Gratuito.
4) Livros Recomendados
Ninguém tem um computador na cabeça e um bom livro sobre uma linguagem de programação pode funcionar tanto como uma fonte inicial de aprendizado, como uma constante fonte de referência. Confira nossa lista de recomendações para Kotlin:
- Kotlin in Action (Dmitry Jemerov e Svetlana Isakova). Em Inglês.
- Android Essencial com Kotlin (Ricardo Lecheta). Em Português.
- Kotlin for Android Developers (Antonio Leiva). Em Inglês.
- Modern Web Development with Kotlin (Denis Kalinin). Em Inglês.
- Programming Kotlin (Stephen Samuel e Stefan Bocutiu). Em Inglês.
- Fundamental Kotlin (Milos Vasic). Em Inglês.
- Android Development with Kotlin (Marcin Moskala e Igor Wojda). Em Inglês.
- Kotlin – The Pragmatic Language for Android (Mike Gouline). Em Inglês. Gratuito.
5) Comunidades de Desenvolvedores
Interagir com a comunidade de desenvolvedores que já tem experiência na linguagem ou com outros iniciantes com as mesmas dúvidas e descobertas também é um caminho fundamental para aprender sobre Kotlin, além de uma ótima oportunidade de estabelecer laços profissionais e pessoais duradouros. Confira algumas das melhores comunidades relacionadas a Kotlin na web:
- Fórum Oficial (em Inglês)
- Newsletter Oficial (em Inglês)
- Podcast Oficial (em Inglês)
- Canal no Reddit (em Inglês)
- Dúvidas de Kotlin no Stackoverflow
- Google Groups Kotlin Brasil
- #kotlin no IRC