Choque de programação: Angular e Kotlin

Choque de programação: Angular e Kotlin

Estava procurando um texto sobre tecnologias do momento? Encontrou ̶#̶$̶@̶%̶!!!

Trabalho com Java e falarei sobre duas tecnologias de programação: Angular e Kotlin.

Antes, digo que a minha intenção é especulativa. Não faço uma aposta confiante no futuro delas, mas o potencial é forte e elas possuem vários pontos com que concordo.

Também não as apresento como “a solução mais bacana”. Tecnologia de programação é uma das últimas coisas com que me incomodo num projeto. Sou mais motivado por perguntas como: o negócio do cliente está bem definido? A documentação é boa? A metodologia de desenvolvimento é adequada? O tempo previsto é, no mínimo, razoável? O conhecimento da equipe é bom? A equipe que iniciou o projeto tem comprometimento de nele permanecer até a entrega (pelo menos boa parte da equipe)?

Contudo, tecnologia não deixa de ser interessante para mim. Caótico, eu sei, a alegria com uma tecnologia dura poucos anos e com essas não será diferente.

Angular

https://angular.io

Um framework para a camada de apresentação, pela Google. O hype é grande… E a confusão, também. Primeiramente, não falo de AngularJS, falo da “evolução” dele. E acho que é bem aí que as coisas desandam com relação ao mercado. Muitos gostam do AngularJS (sou um deles) e a diferença dramática para o Angular cria barreiras na adoção de ambos. Porém gostei da mudança.

Que me chama mais a atenção? A execução no cliente (navegador), simplificando o código, melhorando tanto a performance quanto a utilização de recursos. Comparar com tecnologias de servidor (JSF, Wicket, etc) é sem graça para mim, pois minha preferência está no novo paradigma, não na tecnologia. É como comparar GIT (distribuído) com SVN (centralizado), é mais interessante a mudança de paradigma do que a tecnologia em si.

Nesse paradigma (AngularJS, Angular, React, etc), qual “ganha”? Sei lá! Por enquanto dou preferência ao Angular pois acho mais completo e pela adoção do TypeScript.

TypeScript

https://www.typescriptlang.org

É o JavaScript “tipado”. Não sou fã de JavaScript, gosto de linguagem tipada, então o TypeScript me agrada. Há muitas vantagens e desvantagens (como tudo na vida). Uma desvantagem é o ambiente de execução mais complexo (por enquanto). Mas como foi a desenvolvida pela Microsoft, até essa maldita pode adotar a linguagem sem choro. 😀

Kotlin

https://kotlinlang.org

Gosto muito de Java, mas me agradam as linguagens mais dinâmicas. Torci pelo Groovy, mas nunca fui convencido de sua ampla adoção. Minha esperança é o Kotlin, desenvolvido pela JetBrains (do IntelliJ). Por quê? É boa, compatível com o Java, foi recentemente disponibilizada para Android e a JetBrains mantém um bom nível de qualidade e funcionamento.

Spring Boot e Spring Data

https://spring.io

Não sou fã da Spring (organização), mas os produtos são ótimos. Esses dois frameworks são top (no mundo Java). Gosto da ideia de micro serviços e serverless, o Spring Boot puxa para esse lado. O Spring Data, quando bem entendido, diminui muito a quantidade de código na camada de persistência.

Demonstração

https://gitlab.com/ricardocampos/kotling

Criei um exemplo mínimo com as tecnologias aqui citadas. Quem tiver interesse, acesse o link acima e dê uma olhada. E assista ao Choque de Cultura: https://www.youtube.com/watch?v=ylr7kx-qXgg&list=PLTeqfOQzqJNyUjKVEogo5AA1O_w2m1hO3

Valeu!