Conheça a Linguagem de Programação Kotlin

Conheça a Linguagem de Programação Kotlin

Quando fala-se em desenvolvimento Android sempre lembramos do bom e velho Java. Ah, Java, uma linguagem divisora de águas, amada por alguns e detestada por tantos outros, divide opiniões a respeito de vários aspectos arquiteturais e funcionais. Apesar do lançamento do Java 8 e do Java 9, o qual trouxe várias melhorias e inclusão do uso de expressões lambda, no dia 17 de maio de 2017, a Google decidiu “surpreender” a todos com a linguagem Kotlin, definindo-a como nova linguagem oficial para desenvolvimento Android nativo.

De cara pode assustar um pouco, porém, a linguagem criada pela JetBrains tem tudo para dar certo. Ela é Open Source (E eu acho que não poderia ser diferente), interoperável  com o Java \0/, voltado para a JVM (Há até a possibilidade da ligação com o JavaScript, mas este fica para uma próxima).

De certa forma, o código Kotlin segue da mesma forma que o código Java, com a mesma estrutura de pacotes, inclusive. Primeiramente, vamos ver como é um código tradicional em Java e depois, veremos como ficará em Kotlin.

Em Java, a criação de uma aplicação Hello, World é feita da seguinte forma:

public class JavaApplication6 {
    public static void main(String[] args) {
        System.out.println("Hello World")
    }
}

Já na linguagem Kotlin:

fun main(args: Array<String>) {
    println("Hello World")
}

Observando os dois códigos, pode-se observar que, FINALMENTE, vai ser fácil para printar um valor, nada contra, mas seguir fielmente a orientação a objetos tem as suas desvantagens, uma delas é ter que escrever: System.out.println() só para escrever algo no console. Com Kotlin, fica bem mais fácil e é possível observar que o código foi reduzido, porém, a legibilidade não é prejudicada.

Só isto é o suficiente? Claro que não! Há diversas vantagens que a galera fez. Porém, antes de seguir, o autor deste artigo gostaria de deixar-lhe uma reflexão, para os que curtem iOS também (e para os que se interessam também), Kotlin está para o Java assim como o Swift está para o Objective-C. Por que? Vamos aos fatos, tanto Swift quanto Kotlin são linguagens novas, o ponto e vírgula é opcional em ambos, notou né?! A escrita é reduzida em ambos e o que é o mais legal, ambos possuem o tipo nulo e o tipo não nulo obrigatório.

Como assim?

Atualmente, quando programa-se em Java, algo muito comum é o Null Pointer Exception, quem nunca sofreu com isto que atire a primeira pedra. Porém, as linguagens Swift e Kotlin tem algo em comum um recurso que é muito interessante, que é a verificação em tempo de execução, o que faz com que a linguagem seja bem mais segura do que fazer if null em vários lugares.

Ou seja:

if (objA == null) {
    //Make some magic here
}

Está com os dias contados!!! A moda agora é:

val nome: String? = null //Tipo Possível de receber nulo. Graças ao '?' isto é possível de maneira mais elegante
println(nome.length) //Quando vai printar algo que for nulo, o compilador vai ser seu amigo e te avisar que isso pode ser nulo.

//Mas a mágica não acaba só ali, para te ajudar ainda mais, você pode fazer o seguinte:
println(nome?.length) //A interrogação avisa ao compilador que a variável nome pode ser nula

//Mas eu quero forçar mesmo assim, pode? Claro, veja isto:
println(nome!!.length) //Eis aqui a única diferença para o Swift neste aspecto. Na linguagem Swift, o uso é de apenas uma exclamação '!'. Há várias outras coisas que poderia-se comparar, mas vão ficar para uma próxima.

Já neste exemplo:

val nome: String = null //Compilador dá erro e diz para você algo mais ou menos assim: Queridão, aqui você tem que me dar algum valor, eu não aceito nulo não!
println(nome.length)

E com Android, como fica uma classe?

//Este é um exemplo de uma classe Activity
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        //Make some magic here
        
        //Exemplo de um listener click. Que tal?! 😀
        fab.setOnClickListener { //Uso de lambdas para tratadores de evento!
            toast("Hello") //Lembra como era o Toast no Java?!
        }
    }
}

Agora esta mesma classe em Java:

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //Make some magic here
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Toast.makeText(getApplicationContext(), "Hello", Toast.LENGTH_LONG).show();
            }
        }
    }
}

Notou alguma diferença?! 🙂

A linguagem vai sofrer bastante evolução ainda, mas é importante ficar ligado em sua proximidade com Swift, justamente porque agora, o autor deste post acredita que as plataformas nativas tendem a caminhar mais próximas no desenvolvimento, tornando-se mais “parecidos” e com uma curva de aprendizado menor, onde o desenvolvedor terá de entender melhor a plataforma e menos de como aquele código específico e que só serve para aquela plataforma.

Obviamente é muito cedo para afirmar algo sobre o desenrolar da linguagem Kotlin, mas vale ressaltar que, como ela é feita pela JetBrains, a mesma que também fez o Android Studio e várias outras IDE’s muito boas, tem tudo para ser um bom partido, pois, a empresa cria a IDE e também a própria linguagem, tem tudo para dar certo, não?!

Para os que querem iniciar o desenvolvimento e colocar a mão na massa, quem utiliza a versão 3.0 do Android Studio, pode baixar neste link. Para os que não querem utilizar com o android, podem executar online ou baixar o compilador e executar até no terminal!

Se você gostou deste artigo, compartilhe com seus amigos!

Até a próxima.

 

 

O senhor caveira é programador web, mobile, Desktop, amante da Tecnologia e filósofo de boteco.

Deixe um comentário :)

%d bloggers like this: