Kotlin para back-end — Parte 1 — Introdução

Flavio Andrade
Nov 5 · 3 min read

O Kotlin é uma linguagem relativamente nova, feita inicialmente para rodar sobe a JVM do Java, mas trazendo recursos de linguagens modernas. Curiosamente não vejo muito conteúdo introdutório para o uso no back-end e foi por isso que resolvi escrever uma serie de artigos desta linguagem que vem crescendo.

Introdução ao Kotlin

O Kotlin se popularizou no Android, principalmente depois que o Google definiu ele como linguagem padrão no lugar do Java. Vou descrever a seguir alguns conceitos importantes para termos mais embasamentos da linguagem.

Tipagem dinâmica e estática

O Kotlin é estaticamente tipado, o que significa que uma vez que declaramos o tipo de uma variável ela sempre terá aquele tipo.

Além disso o Kotlin também é dinamicamente tipado, então não precisamos ao declarar uma variável dizer qual é o tipo dela. O tipo é inferido de acordo com o primeiro valor que ele vai receber. Logo no exemplo abaixo variável x vai ser dinamicamente tipada como Int e assim sempre será.

val x = 1

Algumas vantagens da linguagem ser estaticamente tipada:

  • Confiabilidade: durante a compilação o compilador consegue fazer verificações de código diminuindo a quantidade de erros que podem ir para produção;
  • Manutenibilidade: não precisamos ler todo o código para ter certeza qual é o tipo atual da variável;
  • Performance: a linguagem não precisa fazer verificações em tempo de runtime;
  • Suporte: IDEs conseguem disponibilizar mais ferramentas ou funcionalidades por saber qual é o tipo das variáveis/parâmetros.

Fucional e Orientado a Objetos

O Kotlin suporta tanto programação funcional quanto orientação a objetos, o que nos permite a tirar o melhor proveito de cada um.

Entre as características funcionais do Kotlin temos o conceito de "função de primeira classe" que é quando trabalhamos com funções assim como com valores, isto é, podendo atribuí-las a variáveis, receber como parâmetro ou mesmo como retorno.

Com esta característica podemos trabalhar com um reaproveitamento maior de código uma vez que podemos passar comportamentos por parâmetros.

Outra característica importante de se saber ao trabalhar com Kotlin é que por padrão ele trabalha com imutabilidade, o que ajuda a garantir que o estado dos objetos não vai mudar após a sua criação. Para criar objetos mutáveis é necessário utilizar objetos específicos para isso, um bom exemplo é quando vamos criar uma lista, por padrão ela é imutável, logo depois de criar-la não podemos mais adicionar ou remover elementos dela:

val myList = listOf("Banana", "Apple", "Pineapple")

Para criar um lista mutável devemos deixar isso de forma explícita:

val myList = mutableListOf("Banana", "Apple", "Pineapple")

Ao declaramos variáveis também podemos dizer se ela vai ser mutável ou imutável, ao declarar uma variável utilizando a palavra reservada val estamos dizendo ao Kotlin que o valor desta variável nunca vai mudar e o contrário utilizamos o var:

val x = 1 //imutável
var y = 2 //mutável
x = 4 //erro, variável não pode mudar o seu valor
y = 10 //OK

Podemos ver um grande benefício da imutabilidade quando trabalhamos com multi-thread pois não existem erros de concorrência na alteração de dados uma vez que os objetos são imutáveis.

Compilação

Apenas uma curiosidade extra sobre o Kotlin é que o seu compilador gera ao final arquivos .class assim como o Java. Logo é possível gerar um .jar com o compilador do Kotlin e a partir disto utilizar o Java para executar a aplicação como um código em Java qualquer, por exemplo:

java -jar myKotlinProgram.jar

Graças a estas características é possível utilizar muitos dos frameworks e bibliotecas do Java no Kotlin. É possível até mesmo em um mesmo programa escrever classes em Java e utilizar-las em classes em Kotlin.

Ferramentas

Você pode testar códigos em Kotlin sem ter que configurar nada em sua máquina com o playground do Kotlin: http://try.kotl.in

Além disso para criar códigos em sua máquina você vai precisar do Java 8 e de uma IDE, e é difícil recomendar qualquer IDE diferente do IntelliJ IDEA que pertence a empresa que criou o Kotlin. Existe uma versão paga da IDE mas a versão community atende a todas as necessidades!

Dada esta introdução na próxima postagem vamos ser mais direto quanto aos detalhes da linguagem. Apesar do meu background em Java a ideia é trazer um conteúdo de uma forma clara para pessoas que vem de qualquer lingugem.

Flavio Andrade

Written by

Apaixonado por programação, arquitetura de software e as coisas boas da vida.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade