Kotlin

É possível usar Kotlin no back-end?

Nos últimos anos, várias linguagens de programação, como Python e as linguagens funcionais em especial, começaram a ser mais e mais adotadas pelo mercado em geral. Uma destas linguagens que começou a se tornar mais popular, apesar de uma história peculiar, foi o Kotlin, a linguagem de programação da JetBrains.

Muitos conhecem o Kotlin como a linguagem padrão para desenvolvimento na plataforma Android, já que a Google trocou o Java pelo Kotlin em 2017. Porém, poucas pessoas sabem que o Kotlin pode também ser utilizado no desenvolvimento back-end.

Antes de tudo: o que vem a ser o Kotlin?

O Kotlin é uma linguagem de programação completamente open source, multiplataforma e multiparadigma com forte influência de C#, Scala, Groovy e JavaScript. Softwares escritos em Kotlin podem ser compilados para três diferentes plataformas: para a JVM, rodando sob a infraestrutura da plataforma Java; para JavaScript, sendo possível compilar código Kotlin e gerar código inteiramente JavaScript; e para código nativo, através do LVVM. O LVVM é basicamente uma biblioteca modular de compiladores e ferramentas escritos em C++ que permitem a criação de compiladores. Embora o Kotlin ofereça todas essas possibilidades, seu uso mais comum ocorre no processo de compilação e execução na JVM, utilizando toda a infraestrutura da plataforma Java.

Kotlin com Android - Primeiros Passos
Curso de Kotlin com Android - Primeiros Passos
CONHEÇA O CURSO

O Kotlin foi criado em 2010 por Andrey Breslav, engenheiro de software da JetBrains. A JetBrains é a empresa responsável por excelentes ferramentas de desenvolvimento, como o IntelliJ IDEA, PhpStorm, WebStorm e Resharper. Andrey Breslav deu esse nome à linguagem por se tratar do nome de uma pequena ilha russa. A ideia foi seguir a mesma filosofia do nome do Java, já que Java também é o nome de uma pequena ilha na Indonésia. Embora o desenvolvimento da linguagem tenha iniciado em 2010, a primeira versão estável oficial foi lançada somente em 2016.

Segundo a JetBrains, o Kotlin foi criado para ser uma linguagem completamente voltada ao mercado e completamente interoperável com o Java (já que ambos são compilados para bytecode, código intermediário este que é executado pela JVM). Porém, a ideia é que o Kotlin solucionasse alguns pontos de design que eram considerados problemáticos no Java. Por isso, o Kotlin adota recursos de linguagem muito interessantes, como uma sintaxe sensivelmente menos ruidosa e verborrágica, a incorporação natural de conceitos de linguagens funcionais (principalmente com relação à aspectos de imutabilidade) e a proteção natural ao “erro de um bilhão de dólares”: as referências nulas, ou o famoso NullPointerException. O Kotlin possui uma maneira peculiar que faz com que as chances de ponteiros nulos sejam drasticamente reduzidas.

A sintaxe do Kotlin é de fato muito mais concisa, direta e expressiva. Enquanto um tradicional “hello world” em Java ficaria da seguinte maneira…

package br.com.treinaweb;

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

O mesmo “hello world” em Kotlin poderia ser escrito da seguinte maneira:

fun main() {
    println("Hello, World")
}

Atualmente, o Kotlin é patrocinado pela Kotlin Foundation, uma organização sem fins lucrativos formada pela JetBrains e pela Google.

O Kotlin pode ser usado no backend?

Sim, o Kotlin pode ser utilizado para desenvolvimento backend, além do desenvolvimento para Android. A interoperabilidade com o Java permite que você utilize os tradicionais e poderosos frameworks Java, como Spring e Hibernate, em conjunto com o Kotlin de maneira praticamente transparente. Isso permite obter toda a extensibilidade e maturidade característica dos frameworks e bibliotecas Java através de uma linguagem muito menos verbosa, com uma API mais agradável e com um design mais moderno.

De maneira geral, utilizar bibliotecas Java em conjunto com o Kotlin é algo praticamente transparente, sendo idêntico à utilização do Java. Porém, algumas bibliotecas podem ir contra alguns princípios da filosofia do Kotlin. Um exemplo clássico desse “choque” é o Hibernate sendo utilizado em um projeto baseado no Kotlin. Um dos princípios do design do Kotlin é a imutabilidade. O grande problema é que o Hibernate preza justamente pelo contrário, ou seja, pela mutabilidade das entidades que são manipuladas. Não é impossível utilizar o Hibernate junto com o Kotlin, muito pelo contrário… Mas, nessa situação por exemplo, pode ser necessário abrir mão de algumas ideias legais de design que o Kotlin tem.

O Kotlin vem sendo adotado com muita força pelo mercado desde 2017. Hoje, grandes empresas como Pinterest, Uber, Amazon, Prezi, Slack, além da própria Google e da JetBrains, utilizam o Kotlin para desenvolvimento de aplicações internas e externas. Isso têm feito com que frameworks e bibliotecas específicas para o Kotlin também surjam com frequência. Hoje temos, por exemplo, o Ktor, um framework Kotlin para desenvolvimento web; e o Exposed, um framework SQL da JetBrains completamente baseado no Kotlin. Além disso, uma pesquisa do StackOverflow elegeu o Kotlin como a segunda linguagem de programação mais amada pela comunidade. Estes dados mostram como o Kotlin hoje é uma opção que deve ser considerada seriamente ao se desenvolver aplicações multi-propósito, além de aplicações para Android.

Conheça as novidades que estão por vir no Android Studio 3.0

Para quem acompanha de perto os serviços da Google para desenvolvedores, sabe que a equipe do Android Studio está trabalhando a todo vapor para lançar em breve a nova versão: Android Studio 3.0.

Vejamos as principais novidades e atualizações que estão por vir! o/

Kotlin com Android - Primeiros Passos
Curso de Kotlin com Android - Primeiros Passos
CONHEÇA O CURSO

Mudanças no core da IDE

Houve uma atualização do core passando do IntelliJ 2016.2 para 2017.1.2. Essa atualização trará novas funcionalidades ao Android Studio, como dicas de parâmetro, realce semântico, resultados imediatos em busca, entre outros.

Além disso, a nova versão promete resolver o bug no Instant Run. Se um app está pausado em um breakpoint, espera-se que o aplicativo reinicie. Mas, se o aplicativo não está em pausa em um breakpoint, ele não deve reiniciar e o hot swap deve funcionar quando você faz apenas uma mudança na implementação do método.

Linguagem Kotlin

Agora o Android Studio trará 100% de suporte a linguagem Kotlin, sem a necessidade de instalar plug-ins adicionais, o que acontecia na versão 2.3.

Assim você poderá incorporar códigos Kotlin ao seu projeto convertendo arquivos Java para Kotlin através da opção de conversão de código. E também você terá a opção de criar um novo projeto Kotlin habilitando o suporte à linguagem pelo assistente quando for iniciar um novo projeto.

Novo Android Profiler

Na nova versão, o Android Profiler irá fornecer em tempo real uma visão unificada da atividade do seu aplicativo, como o consumo de CPU, memória e rede. O Android Profiler irá substituir o Android Monitor.

Ele poderá ser aberto através do menu View > Tool Windows > Android Profiler. Através de gráficos em tempo real ele exibirá as informações sobre o app que está sendo executado naquele momento. Conforme imagem abaixo disponibilizado no site para desenvolvedores Android Developers.

Como parte desta atualização, o logcat mudou-se para uma janela separada.

Suporte a Instant Apps

Agora será possível criar Instant Apps em seu projeto usando dois novos tipos de módulos: o Instant App e o Feature Module . Conforme imagem abaixo retirada do Android Developers.

Novo Device File Explorer

A nova janela de ferramenta Device File Explorer traz novidades interessantes. Com ela é possível que você interaja perfeitamente com o sistema de arquivos do seu dispositivo conectado. Conforme imagem abaixo retirada do Android Developers.

Desta forma, você poderá clicar para visualizar vários arquivos dentro do Android Studio e copiar os arquivos para o seu computador.

Esta característica substitui interações do sistema de arquivos do dispositivo anteriormente realizada por meio de DDMS.

Suporte para o Android O Developer Preview

O Android Studio 3.0 adiciona suporte para Android O, incluindo as seguintes novidades:

  • Um novo assistente para Adaptive Icon que permitirá criar novos Launcher Icons e visualizá-los como eles aparecerão em dispositivos diferentes;
  • Novo XML fonts preview, ferramenta de seleção de fonte e suporte para tipos de fontes que podem ser efetuado downloads.

Melhorias no Editor de Layout

O Editor de Layout no Android Studio 3.0 contém uma série de novas melhorias de recursos, incluindo:

  • Árvore de componentes atualizada com inserções de visualização aprimoradas de arrastar e soltar;
  • Novo painel de erros;
  • Novo suporte para view Barriers e Groups

Conclusão

Não tem como negar que a equipe de developers do Android Studio está trazendo muitas novidades para nós desenvolvedores Android. Em breve, ele já estará disponível para download no lançamento oficial. Mas, já é possível testar as novidades através da versão beta disponibilizada no site Android Developers.

Compartilhe com a gente o que você achou da nova versão do Android Studio. Um abraço e até a próxima!

Delphi 10 Seattle Básico
Curso de Delphi 10 Seattle Básico
CONHEÇA O CURSO

Kotlin: A nova linguagem oficial para desenvolvimento Android

Não é novidade para nós, desenvolvedores mobile, que a linguagem de programação Kotlin foi integrada ao time de linguagens oficiais para desenvolver apps Android. Agora o time conta com Java, C++ e Kotlin. Lembrando que a Kotlin é a nova linguagem oficial para desenvolvimento de aplicativos Android, ela não é substituta de nenhuma outra existente.

Kotlin com Android - Primeiros Passos
Curso de Kotlin com Android - Primeiros Passos
CONHEÇA O CURSO

História

Kotlin é uma linguagem de programação criada em 2011 pela JetBrains, empresa conhecida pelas IDEs comercializadas. Esta linguagem recebeu o nome de uma ilha russa situada próximo à costa de São Petersburgo, onde a equipe Kotlin reside.

Em julho de 2011 a JetBrains revelou que estava trabalhando em uma nova linguagem (Kotlin) com o objetivo de suprir características que não eram encontradas em outras. No ano seguinte, o projeto Kotlin foi colocado sob a licença Apache de código aberto. Porém, apenas em 2016 foi lançada a primeira versão estável.

Aos poucos, ela foi conquistando seu lugar na comunidade de desenvolvedores de aplicativos Android, muito devido à sua qualidade e as ferramentas e IDEs que a atendem. E também, talvez um dos principais fatores, ela possui 100% de interoperabilidade com o Java. Ou seja, 100% compatível.

Contudo, a grande notícia veio em 2017, no Google I/O 17. Onde os engenheiros do Google Android anunciaram a Kotlin como a mais nova linguagem oficial da plataforma.

Principais características

Como mostrado anteriormente, uma das principais características do Kotlin, talvez a mais marcante, é a compatibilidade com o Java. Assim, todas as APIs que rodam no Java também rodam no Kotlin. Também é possível destacar outras características, como:

  • Compatível com o JDK 6, desta forma os programas escritos em Kotlin são compatíveis com qualquer versão do Android;

  • A linguagem é type-safe como o Java, e também null-safe, ou seja não admite valor null para as variáveis e caso precise informar um valor nulo é necessário definir isto de forma explícita;

  • Trabalha com os paradigmas de Programação Orientada a Objetos e Programação Funcional;

  • O Android Studio tem 100% de suporte a ela;

  • Utiliza inferência para definir tipos de dados quando o mesmo é evidente;

  • Os códigos getters e setters estão presentes de forma implícita, desta forma não é necessário criá-los na classe.

Por que desenvolver para Android com Kotlin?

Devido às suas características, ela demostra ser uma ótima opção para o desenvolvimento de aplicativos Android, trazendo todas as vantagens de uma linguagem moderna para a plataforma e sem apresentar novas restrições:

Compatibilidade: Kotlin é totalmente compatível com o JDK 6, garantindo que os aplicativos possam ser executados em dispositivos Android mais antigos, sem problemas. A ferramenta Kotlin é totalmente suportada no Android Studio e compatível com o sistema de compilação do Android.

Desempenho: um aplicativo Kotlin é tão rápido quanto um Java equivalente, graças a uma estrutura de bytecodes muito semelhante. Com o suporte da Kotlin para funções inline, o código usando lambdas geralmente é executado ainda mais rápido que o mesmo código escrito em Java.

Interoperabilidade: o Kotlin é interoperável a 100% com Java, permitindo usar todas as bibliotecas Android existentes em um aplicativo Kotlin.

Tempo de compilação: o Kotlin suporta compilação incremental eficiente, por isso, enquanto há algumas sobrecargas adicionais para construções limpas, as compilações incrementais geralmente são tão rápidas ou mais rápidas do que com o Java.

Curva de aprendizado: para um desenvolvedor Java começar com o Kotlin é muito fácil. O conversor automático Java para Kotlin incluído no plugin Kotlin ajuda com os primeiros passos.

Compatibilidade com o Android Studio

Atualmente Kotlin é 100% compatível com o Android Studio e para utilizá-lo basta instalar um plugin que se encontra disponível na área de plug-ins da IDE.

Pensando em mais praticidade para os desenvolvedores Android que utilizam esta IDE, em breve será lançada a nova versão do Android Studio (Android Studio 3.0 Canary) que trará nativamente suporte ao Kotlin, sem a necessidade de instalar plugins adicionais. Atualmente já está disponível para download o preview, que você pode ver no site oficial.

Quer aprender a desenvolver com Kotlin? Veja o nosso curso:

Kotlin com Android - Primeiros Passos
Curso de Kotlin com Android - Primeiros Passos
CONHEÇA O CURSO

O que você acha sobre essa parceria entre Kotlin e Android? Compartilhe conosco a sua opinião. 🙂

Uma abraço e até a próxima!