Blog

A evolução do Java no mundo em constante transformação.

O relatório da Vaadin sobre o estado atual do Java fornece informações valiosas sobre a utilização da linguagem pelos desenvolvedores atualmente. Vamos analisar mais de perto.

butterfly transformation
Imagem: xsix/Burst

A Vaadin divulgou recentemente novos estudos sobre a situação do Java no ambiente corporativo. Ao ser complementada por outras fontes, essa pesquisa proporciona uma análise aprofundada da evolução do Java. O panorama geral é de vigor e até mesmo de um renovado interesse no Java, que ainda se destaca como uma base robusta para o desenvolvimento de aplicações de diversos tamanhos e propósitos.

Eu participarei do relatório do Estado do Java em 2023 da Vaadin, juntamente com outros colaboradores. Neste artigo, será resumido o que considero serem os avanços mais importantes no cenário do Java corporativo atualmente.

Seguindo adiante com Java.

Nos últimos dez anos, Java passou por uma série contínua de melhorias. Agora, estamos prestes a vivenciar mudanças mais substanciais com a reformulação da linguagem Java no Project Valhalla e as atualizações de concorrência no Project Loom. Manter-se atualizado com as versões de Java é crucial, especialmente devido a essas mudanças futuras e questões de segurança.

De acordo com o estudo da Vaadin, os desenvolvedores que utilizam Java têm se mantido atualizados com as versões do software. Vinte e seis por cento dos participantes afirmam estar utilizando a versão 17 ou mais recente; 21% estão em processo de atualização; e 37% têm planos de atualizar.

Esses dados estão em consonância com estudos da New Relic que indicam que o Java 11 está se consolidando como a versão LTS predominante, aos poucos superando o Java 8. O Java 17 é a versão LTS mais recente, que sucede o Java 11 conforme o ciclo de lançamento bienal, e em breve se tornará a versão base do Java. A próxima versão LTS será o Java 21, com previsão de lançamento para setembro de 2023.

A preocupação com a segurança digital

Os resultados da pesquisa mostram que a segurança é uma questão importante para os programadores que trabalham com Java, e isso é bastante justificável. A revelação da vulnerabilidade Log4j destacou de forma clara as vulnerabilidades de código presentes em aplicações Java e em diversos outros contextos. A segurança cibernética é como um fenômeno de crescimento gradual que parece ganhar força com o passar do tempo.

De acordo com o relatório Vaadin, a maioria dos desenvolvedores Java considera a garantia da segurança do aplicativo como uma questão primordial, com uma parcela significativa descrevendo-a como desafiadora e outros considerando-a um pouco desafiadora.

Java é conhecido por sua segurança, mas, como qualquer outra linguagem, pode ser vulnerável a ataques de terceiros. Desenvolver aplicativos Java seguros requer seguir boas práticas de segurança ao longo de todo o ciclo de vida da aplicação e da pilha de tecnologia. O governo federal, por meio do CISA, está priorizando a segurança de software de código aberto e a detecção de vulnerabilidades, além de promover a adoção de arquiteturas de confiança zero.

RELACIONADO:  Três ações imediatas para aprimorar sua trajetória profissional na área de computação em nuvem.

Paráfrase: Devido à robustez e constante evolução da plataforma Java, os programadores que a utilizam estão em uma posição favorável para lidar com os desafios em constante mudança enfrentados pelas aplicações web. É fundamental ter consciência das questões de segurança e incorporar a cibersegurança em nossas práticas diárias de desenvolvimento.

Experiência do programador ou experiência de desenvolvimento.

Segundo o estudo da Vaadin, a contratação e retenção de desenvolvedores é considerada um desafio significativo ou moderado por 76% dos entrevistados. Esse problema é generalizado na indústria, com a alta rotatividade e insatisfação dos desenvolvedores dificultando a atração e retenção de talentos na área de desenvolvimento de software.

Uma forma eficaz de abordar a retenção dos desenvolvedores é considerar a experiência do desenvolvedor (DX). Assim como os demais programadores, os profissionais de Java desejam atuar em um ambiente que valorize seus esforços, permitindo o uso de suas habilidades e criatividade. Esse ambiente de suporte inclui as ferramentas e processos de desenvolvimento, bem como a cultura organizacional.

Uma forma de aprimorar a experiência dos desenvolvedores é por meio de uma infraestrutura de devops confiável, que simplifica e traz uniformidade às etapas do desenvolvimento, especialmente na implantação, que costuma ser estressante. Existe uma relação entre devops e a experiência dos desenvolvedores, uma vez que a melhoria das ferramentas e dos processos utilizados por eles facilita a manutenção e garante ajustes adaptativos.

Comparação entre aplicações nativas de nuvem e implantações automatizadas.

A implementação é um aspecto significativo na investigação conduzida pela Vaadin. As estruturas de nuvem e os ambientes sem servidor são considerados como avanços fundamentais para aplicações Java. Atualmente, 55% das aplicações Java são lançadas em nuvens públicas, enquanto 70% são hospedadas localmente ou em ambientes privados. As implantações baseadas em Kubernetes e contas sem servidor correspondem a 56% do total, distribuídas entre nuvens públicas, ambientes locais e plataformas como serviço (PaaS).

Segundo as respostas do questionário, o Amazon Web Services (AWS) é o principal provedor de serviços sem servidor, com 17% dos entrevistados optando por implantar seus aplicativos Java por meio do AWS Lambda. O Microsoft Azure e o Google Cloud Platform, por outro lado, correspondem a 4% das implantações sem servidor.

RELACIONADO:  A plataforma Lightbend Akka integra computação em nuvem e desenvolvimento de borda.

Após servidores físicos e máquinas virtuais, a implantação mais comum é o Kubernetes no local, escolhido por 29% dos entrevistados.

Esses dados indicam que o ecossistema Java está progredindo em direção à tecnologia nativa da nuvem, porém ainda mantém uma parte significativa de suas funcionalidades operando em servidores locais. Muitas empresas que utilizam Java estão sentindo a necessidade de migrar para plataformas de nuvem. No entanto, alguns desenvolvedores ainda optam por plataformas e frameworks locais, resistindo ao modelo de negócios baseado em computação como serviço oferecido pelos provedores de nuvem.

Diferentes formas de utilização do Java

Não é surpreendente que a maioria das aplicações Java sejam aplicações web, enquanto as aplicações de desktop representam apenas 18% dos projetos em desenvolvimento. A pesquisa da Vaadin mostra que a utilização do Java é diversificada, com uma distinção entre as tecnologias atuais e as planejadas para o futuro.

A significativa ênfase em aplicações Java avançadas é notável, com 70% dos entrevistados planejando desenvolver novos projetos utilizando essa tecnologia.

O desenvolvimento back-end, que engloba as APIs de back-end, é considerado uma prioridade significativa, com 69% dos entrevistados indicando que estão planejando investir nessa área.

Depois de finalizar o desenvolvimento completo e back-end, os entrevistados dividiram seus esforços de desenvolvimento entre a modernização das aplicações já existentes (57%), a criação de aplicações heterogêneas (Java com JavaScript ou TypeScript) na mesma plataforma (48%), a migração das aplicações existentes para a nuvem (36%) e a construção de novas interfaces frontais para aplicações Java existentes (29%).

A pesquisa também indica quais frameworks front-end os desenvolvedores Java preferem no momento. Angular (37%) e React (32%) lideram, com Vue (16%) logo em seguida. Isso difere do cenário geral da indústria, onde React é o framework mais popular. Outras opções, como o Svelte, não tiveram uma presença forte o suficiente na pesquisa.

Devido ao seu amplo uso e valor, é inquestionável a preferência dos desenvolvedores Java pelo Spring. Segundo uma pesquisa, 79% dos entrevistados utilizam o Spring Boot e 76% estão empregando o framework geral da Primavera. A expectativa é de que ambos continuem sendo amplamente adotados pelos desenvolvedores.

Atualização e conservação

De acordo com a pesquisa Vaadin, 57% dos participantes apontaram a modernização como uma prioridade para o investimento futuro. A principal justificativa para essa modernização foi a necessidade de manutenção.

Os desenvolvedores de software em todos os níveis e tecnologias se preocupam constantemente com a manutenção. Devido à grande quantidade de código antigo, também conhecido como “legacy”, em Java, há uma forte necessidade de atualizar os sistemas existentes para garantir sua viabilidade futura. É fundamental encontrar recursos financeiros e motivação para refatorar e melhorar o que já está estabelecido em qualquer projeto de longo prazo.

RELACIONADO:  Como os processadores lidarão com os obstáculos de consumo de energia da inteligência artificial generativa.

Depois da manutenção, vem a segurança, tema já abordado anteriormente. No entanto, neste contexto, a segurança é considerada como mais um motivo para a atualização, com 20% dos entrevistados apontando a segurança como sua principal razão, 16% em segundo lugar e 21% em terceiro. A segurança continua sendo uma preocupação significativa e saudável para os desenvolvedores.

Java e a interface do usuário (UI).

Dentre os diversos obstáculos apontados pelos programadores Java, a criação de uma experiência de usuário intuitiva e simples se destaca como o mais difícil. Cerca de 30% consideram esse desafio significativo, enquanto 51% o encaram como um desafio um pouco mais fácil.

A criação da interface do usuário pode ser desafiadora em qualquer aplicação. Muitos desenvolvedores Java são especializados em construir APIs e middleware, e desejam encontrar uma forma de utilizar essa tecnologia para desenvolver aplicações completas, como é evidenciado pela popularidade das aplicações Java full-stack. Um participante de uma pesquisa expressou o desejo de utilizar Java tanto para o backend quanto para o frontend. No futuro, talvez a tecnologia WebAssembly (WASM) possa viabilizar essa integração.

Atualmente, os desenvolvedores Java enfrentam a necessidade de construir em um framework JavaScript, como React, por meio de tecnologias que permitem a codificação em Java e a saída em JavaScript (como JavaServer Faces ou Google Web Toolkit), ou utilizando uma estrutura que procura unir Java e JavaScript em uma única solução, como Hilla ou jHipster.

A conexão do Java com diferentes ferramentas.

Os desenvolvedores Java da indústria têm adotado práticas de devops, como CI/CD, e integrações de terceiros, de acordo com o relatório Vaadin. As ferramentas mais populares em uso incluem soluções de log, observabilidade e single sign-on (SSO). Outras ferramentas comumente utilizadas no ecossistema Java são Kubernetes, ERP, CRM, devops e MFA.

Resumo ou Encerramento.

Paralelamente à pesquisa sobre JavaScript realizada pelo Estado de JavaScript, o relatório da Vaadin sobre Java para Empresas fornece uma visão abrangente do Java, destacando sua situação atual e suas perspectivas futuras. Em resumo, o Java parece estar consolidando sua posição de estabilidade, ao mesmo tempo em que demonstra um contínuo dinamismo em sua evolução. Esses aspectos combinados sugerem que o Java é uma tecnologia essencial e preparada para enfrentar os desafios do futuro.

Artigos relacionados

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button