Java vs. Kotlin: Qual é o melhor desenvolvimento de aplicativos Android?

A comunidade de desenvolvimento de aplicativos móveis Kotlin está crescendo. No ano passado, o Google reconheceu a linguagem de programação Kotlin como a segunda língua oficial do Android App Development. Desde então, a Kotlin também firmou parcerias com o Google Cloud Platform, Spring Frame e Gradle. Os desenvolvedores de aplicativos Android finalmente estão adquirindo a linguagem realista, moderna e intuitiva que esperam.

Kotlin

O que é o Kotlin?

Kotlin é uma linguagem de programação estaticamente tipada para Java Virtual Machine (JVM) e JavaScript. Descrito como uma linguagem de uso geral, o Kotlin apresenta recursos funcionais para apoiar a interoperabilidade e o entendimento. O trabalho de Kotlin nasceu da ambição de aumentar a produtividade. O objetivo era melhorar a experiência de codificação de maneira prática e eficiente.

O Kotlin √© uma linguagem de destino (OO) e uma linguagem de programa√ß√£o funcional (FP). √Č compat√≠vel com os estilos OO e FP que permitem aos desenvolvedores integrar elementos de qualquer formato. O Kotlin suporta fun√ß√Ķes e tipos de fun√ß√Ķes de ordem superior, tornando-o uma excelente op√ß√£o para programa√ß√£o funcional.

O foco principal do Kotlin √© permitir projetos de idiomas mistos. O Kotlin √© totalmente compat√≠vel com Java e Objective C, o que torna o aprendizado da nova linguagem indolor. Kotlin apresenta uma sintaxe aprimorada, al√©m de express√Ķes e subtra√ß√Ķes concisas. O uso de Java por Kotlin elimina a necessidade de c√≥digo excessivo, que √© uma grande vit√≥ria para os desenvolvedores do Android.

Kotlin 2018: um ano em revis√£o

Após o Google I / O 2017, Kotlin viu um tremendo crescimento no desenvolvimento do Android. Desde então, o JetBrains hospedou o primeiro KotlinConf e anunciou a versão beta do Kotlin / Native.

No ano passado, o JetBrains lançou a primeira revisão do Kotlin / Native e, à medida que avançamos em 2019, os desenvolvedores agora têm acesso ao Kotlin / Native Beta. No Kotlinverse, a adoção do desenvolvimento entre plataformas é lenta. O estado de Kotlin de Pusher revela que dos 3.000 entrevistados, apenas um quarto utilizou algum tipo de suporte entre as plataformas, com a maioria deixando o Kotlin / Native.

Em 2018, o Airbnb come√ßou a mudar do React Native para o Kotlin. De fato, eles escreveram 80% de seu novo c√≥digo no Kotlin. Portanto, embora a ado√ß√£o da Kotlin n√£o tenha sido explosiva, os fatores mais importantes da ind√ļstria s√£o os muitos benef√≠cios que a Kotlin tem a oferecer.

Este é o fim do Java?

Existem vis√Ķes mistas dos desenvolvedores.

Java √© uma linguagem de programa√ß√£o not√°vel, com enormes ferramentas e bibliotecas de c√≥digo aberto para ajudar os desenvolvedores. Portanto, nenhuma linguagem est√° errada e at√© o Java est√° sujeito a complica√ß√Ķes que podem tornar o trabalho dos desenvolvedores tedioso. Se nada mais, o Kotlin apresentar√° solu√ß√Ķes para “dores de cabe√ßa” comuns na programa√ß√£o e melhorar√° o ecossistema Java como um todo.

No ano passado, o Kotlin se tornou uma opção de desenvolvimento mais estável e empolgante para o Android Studio. Alguns desenvolvedores parecem acreditar que o Kotlin eliminará o desenvolvimento da tecnologia Java para Android nos próximos anos. Outros especialistas acreditam que o Kotlin e o Java continuarão a existir ao mesmo tempo, sem nenhuma competição entre eles.

Para a maioria, os pontos fortes de Kotlin compensam as barreiras lingu√≠sticas. Existem algumas restri√ß√Ķes no Java que impedem o design da API do Android. O Kotlin √© inerentemente leve, limpo e menos compreens√≠vel, especialmente quando se trata de reescrever, categorias de dados e getters / setters. Em outras palavras, o Kotlin foi projetado especificamente para melhorar os modelos Java existentes, oferecendo solu√ß√Ķes para as defici√™ncias de design da API.

O Kotlin enfrenta v√°rios pontos fracos causados ‚Äč‚Äčpelo Java:

Brevidade

Muitos desenvolvedores elogiaram Kotlin por ser baixo. Não é esse um recurso pelo qual Java é conhecido? No entanto, a legibilidade deve sempre ser uma prioridade sobre práticas concisas. Sim, a natureza concisa de Kotlin simplifica o trabalho do criador e deixa menos espaço para erros, mas Kotlin não demora por causa da violência de curta duração. O código do Boilerplate é um problema que leva a mais erros e desperdiça tempo até que o problema seja reconhecido.

A descrição acima é uma operação simples da calculadora escrita em Java. Para comparação, aqui está a mesma calculadora escrita em Kotlin:

Como podemos ver, a versão Kotlin desta calculadora está escrita na metade das linhas de código necessárias para programar a operação do Java. A relatividade é um fator chave na produtividade. Gravar projetos grandes fica mais fácil quando um desenvolvedor tem mais poder para cada linha de código. Uma observação importante aqui é que Kotlin não negligencia a compreensão por uma questão de brevidade. A pensão é concisa e ainda mais importante.

Interoperabilidade

Interatividade é o principal objetivo de Kotlin. Desde o início, o objetivo do projeto era usar o conhecimento e a experiência existentes para disponibilizar cada biblioteca para os desenvolvedores do Kotlin. Os desenvolvedores podem simplesmente escrever módulos no Kotlin que funcionam perfeitamente dentro do código Java existente. Ao transmitir o Bytecode, um tradutor Kottlin permite que os dois idiomas trabalhem juntos no mesmo projeto.

Segurança nula integrada

O sistema do tipo Kotlin possui segurança integrada. O famoso NullPointerException é o principal responsável por erros de desenvolvimento do Android e Java. Mas o que não mencionamos é que o Null pode arruinar facilmente um aplicativo. Kotlin resolve esse problema incorporando segurança nula. Esse complemento economiza tempo dos desenvolvedores escrevendo código adicional para resolver o problema.

N√£o h√° exce√ß√Ķes verificadas

O recurso verificado pelo recurso Java pode ser problem√°tico. As exce√ß√Ķes verificadas s√£o quando o compilador for√ßa o chamador de uma fun√ß√£o a capturar ou repetir uma exce√ß√£o. O fato √© que as exce√ß√Ķes frequentemente controladas s√£o desnecess√°rias e causam “blocos de captura vazios”. Exce√ß√Ķes verificadas inexistentes s√£o um inc√īmodo para os desenvolvedores porque s√£o for√ßadas a verificar o c√≥digo para identificar uma poss√≠vel exce√ß√£o que nunca aconteceu. Como solu√ß√£o, Kotlin os removeu completamente, o que melhora a seguran√ßa do tipo.

√Č necess√°rio que os desenvolvedores aprendam Kotlin?

Novamente, existem vis√Ķes contradit√≥rias: embora n√£o seja absolutamente necess√°rio que os desenvolvedores fa√ßam a transi√ß√£o para o Kotlin, eles acabar√£o encontrando o idioma. Se voc√™ j√° conhece Java, aprender Kotlin ser√° simples. A linguagem est√° pronta para influenciar o desenvolvimento de aplicativos em grande escala, por isso n√£o custa nada aprender primeiro o b√°sico e, a longo prazo, desenvolver t√©cnicas modernas e estilos de desenvolvimento. Certamente tudo isso ajudar√° a desenvolver o conjunto de habilidades de cada desenvolvedor.

Kotlin 2019 Outlook

Com colabora√ß√Ķes com marcas gigantes como Amazon, Pinterest, Netflix, Uber e Trello, suporte do JetBrains e Google e liga√ß√£o quase global √† linguagem de programa√ß√£o, √© seguro dizer que o Kotlin ficar√° conosco por um longo tempo. Cairo.

Kotlin está rapidamente provando ser uma linguagem de programação superior para o desenvolvimento de aplicativos móveis e oferece aos desenvolvedores uma rica oportunidade de experimentar a programação moderna. Os desenvolvedores podem alternar entre OO, FP e scripts sem esforço, definindo facilmente um novo padrão para o que precisam para poder concluir uma linguagem de programação.