Para onde o Java está indo em 2022?
Já faz um tempo desde nossa análise profunda do ecossistema do Java em "Para onde está indo o Java em 2020". O recente relatório da JRebel "Tendências de Desenvolvimento Java e Análise 2022" nos deu a oportunidade de revisitar. Então, "Para onde está indo o Java em 2022", de acordo com JRebel?
O novo relatório que marcou o 10º aniversário da iniciativa da JRebel, analisa o estado do ecossistema Java sob a perspectiva de:
Ele atraiu um total de 846 respostas, metade delas, e a maioria, sendo desenvolvedores, com o restante dividido entre Arquitetos Java, Líderes de Equipe, Diretores, Consultores e Outros.
Mais importante ainda, 31% da amostra trabalhava em grandes ambientes corporativos, ultrapassando 1.000 funcionários, portanto, o relatório fornece uma indicação muito boa do uso de Java em nível industrial.
Por que Java sempre foi o favorito das empresas?
Dizendo que outro índice importante é a adoção da versão Java e se o Oracle JDK é preferível ao OpenJDK. Com um ciclo de lançamento muito mais rápido após a versão 8, agora tocando a versão 18, você esperaria que a maioria tivesse migrado para uma versão mais recente. Isso não é o que realmente acontece. Como a pesquisa destaca, 37% dos desenvolvedores entrevistados ainda estão na venerável versão 8 (de 58% em 2020), embora o Java 11 com 29% (de 22% em 2020) esteja ganhando terreno. Isso indica que as pessoas preferem a estabilidade em vez de se apossar de todas as melhorias mais recentes.
Na frente OpenJDK vs OracleJDK, as coisas mudaram um pouco em comparação com o relatório de 2020 da JRebel, que comentou:
e sugere uma razão:
e acrescenta:
Este ano, a participação do OracleJDK é de 36%, de 48% em 2020. GraalVM subiu de 0,25% em 2020 para 3% este ano.
O restante das perguntas eram sobre problemas de desempenho, microsserviços e CI/CD.
A arquitetura do aplicativo principal desenvolvido pelos entrevistados foi baseada em microsserviços (32%), seguido pelo antigo Monolith (22%).
Eu teria pensado que isso deve ser por causa do ressurgimento de estruturas baseadas em JVM que tornam Java um cidadão de primeira classe no mundo dos microsserviços. Estou falando do Quarkus, que junto com Micronaut e Helidon, faz parte de uma nova liga de frameworks de código aberto que surgiram nos últimos anos para impulsionar o uso de Java no mundo dos microsserviços. Seus recursos AOT, juntamente com os executáveis de imagem nativa do GraalVM, deveriam ter realmente feito a diferença.
Apesar do Spring Boot ainda ocupar o primeiro lugar, com impressionantes 74%, seguido pelo Quarkus, Vert.x e DropWizard completaram os quatro primeiros em 5%, 2% e 1%, respectivamente. O diabo está nos detalhes, no entanto. O Quarkus em 2020 teve uma participação de 0,5%, enquanto o Spring Boot 82%. Dado que o Spring é a estrutura dominante, eles não o estão usando em combinação com o Spring Native, que permite compilar aplicativos Spring para imagens nativas usando o compilador de imagens nativas GraalVM?
Um grande problema identificado no relatório foi que há um aumento no tempo necessário para iniciar os serviços em aplicativos de microsserviço desde a transição/criação original do microsserviço. A pesquisa descobriu que 60% combinados experimentaram um aumento, enquanto 35% por cento não foram afetados.
Outro resultado decepcionante é que, em vez de ter melhores tempos de redistribuição, tendo dividido um monólito em partes distintas gerenciáveis, a maioria encontrou tempos de redistribuição superiores a cinco minutos; outros superiores a 10 minutos.
Na categoria Java Virtual Machine Platform, o Docker foi de longe a seleção mais popular, representando 41% do total de entrevistados. O Kubernetes ficou em segundo lugar, com 26%, enquanto o VMWare completou os três primeiros com 16%. Jenkins com 46% foi considerada a tecnologia CI/CD mais popular, Github Actions em segundo lugar com 16%.
Em outras categorias, a AWS foi o provedor de PaaS favorito, mais uma vez o Tomcat foi o servidor de aplicativos escolhido, o Maven foi a ferramenta de construção mais popular com 68% com Gradle com 23% de seguidores. Maven subiu para 44% em 2020 e Gradle caiu de 47%, respectivamente. Isso mostra que, embora o Gradle estivesse no hype, ele se mostrou muito complicado para o desenvolvimento geral de Java; melhor ficar com o Android.
Para resumir as descobertas mais interessantes, as empresas recorrem aos microsserviços não por causa dos tempos de inicialização e reimplantação mais rápidos, mas por outros motivos, como modularidade e flexibilidade. O outro aspecto notável foi que o Spring Boot ainda é a maneira dominante de abordar os microsserviços Java, com o restante das contrapartes mais recentes tendo que cobrir muito terreno para chegar ao mesmo nível. Isso nos leva a refletir sobre o uso de AOT e GraalVM. É baixo como em um hype superestimado ou é muito novo para ser considerado uma alternativa viável ainda?
A grande conclusão foi que, enquanto a tecnologia muda, as pessoas não se apressam em adotá-la. Isso ressoa especialmente com as grandes empresas, pois elas preferem a estabilidade à invenção. É claro que, em algum momento, eles acabarão entrando na onda, mas isso leva muito tempo e um planejamento cuidadoso.
Já faz um tempo desde nossa análise profunda do ecossistema do Java em "Para onde está indo o Java em 2020". O recente relatório da JRebel "Tendências de Desenvolvimento Java e Análise 2022" nos deu a oportunidade de revisitar. Então, "Para onde está indo o Java em 2022", de acordo com JRebel?
O novo relatório que marcou o 10º aniversário da iniciativa da JRebel, analisa o estado do ecossistema Java sob a perspectiva de:
- Tendências na adoção e uso de microsserviços
- Tempos de compilação de CI/CD e frequências de commits
- Estruturas populares, servidores de aplicativos, máquinas virtuais e outras ferramentas
- Produtividade geral do desenvolvedor, incluindo desafios e obstáculos
Ele atraiu um total de 846 respostas, metade delas, e a maioria, sendo desenvolvedores, com o restante dividido entre Arquitetos Java, Líderes de Equipe, Diretores, Consultores e Outros.
Mais importante ainda, 31% da amostra trabalhava em grandes ambientes corporativos, ultrapassando 1.000 funcionários, portanto, o relatório fornece uma indicação muito boa do uso de Java em nível industrial.
Por que Java sempre foi o favorito das empresas?
As empresas falaram e ainda falam Java. Não procure mais do que a lista Fortune 500 de empresas que confiam nele. Sim, os Blue Chips adoram. Os motivos são muitos. O que as empresas mais valorizam é a compatibilidade com versões anteriores, sendo notoriamente alérgica a atualizações e upgrades radicais. Sistemas que funcionavam há 20 anos, escritos em Java 5, deveriam ser capazes de compilar e rodar na versão 8. A estabilidade é o que importa.
Dizendo que outro índice importante é a adoção da versão Java e se o Oracle JDK é preferível ao OpenJDK. Com um ciclo de lançamento muito mais rápido após a versão 8, agora tocando a versão 18, você esperaria que a maioria tivesse migrado para uma versão mais recente. Isso não é o que realmente acontece. Como a pesquisa destaca, 37% dos desenvolvedores entrevistados ainda estão na venerável versão 8 (de 58% em 2020), embora o Java 11 com 29% (de 22% em 2020) esteja ganhando terreno. Isso indica que as pessoas preferem a estabilidade em vez de se apossar de todas as melhorias mais recentes.
Na frente OpenJDK vs OracleJDK, as coisas mudaram um pouco em comparação com o relatório de 2020 da JRebel, que comentou:
Foi muito surpreendente ver quantos entrevistados da nossa pesquisa estão pagando pelo Oracle JDK. Eu esperava que as opções de código aberto tivessem uma participação de mercado muito maior.
e sugere uma razão:
uma grande demografia de desenvolvedores Java 8 está representada em nossa pesquisa. Achamos que o número de desenvolvedores usando Java 8 sugere que o projeto não foi atualizado por um longo período de tempo, o que pode ser o que manteve os aplicativos na distribuição Oracle.
e acrescenta:
O suporte fornecido pelo Oracle JDK pode ser mais importante do que pensávamos.
Este ano, a participação do OracleJDK é de 36%, de 48% em 2020. GraalVM subiu de 0,25% em 2020 para 3% este ano.
O restante das perguntas eram sobre problemas de desempenho, microsserviços e CI/CD.
A arquitetura do aplicativo principal desenvolvido pelos entrevistados foi baseada em microsserviços (32%), seguido pelo antigo Monolith (22%).
Eu teria pensado que isso deve ser por causa do ressurgimento de estruturas baseadas em JVM que tornam Java um cidadão de primeira classe no mundo dos microsserviços. Estou falando do Quarkus, que junto com Micronaut e Helidon, faz parte de uma nova liga de frameworks de código aberto que surgiram nos últimos anos para impulsionar o uso de Java no mundo dos microsserviços. Seus recursos AOT, juntamente com os executáveis de imagem nativa do GraalVM, deveriam ter realmente feito a diferença.
Apesar do Spring Boot ainda ocupar o primeiro lugar, com impressionantes 74%, seguido pelo Quarkus, Vert.x e DropWizard completaram os quatro primeiros em 5%, 2% e 1%, respectivamente. O diabo está nos detalhes, no entanto. O Quarkus em 2020 teve uma participação de 0,5%, enquanto o Spring Boot 82%. Dado que o Spring é a estrutura dominante, eles não o estão usando em combinação com o Spring Native, que permite compilar aplicativos Spring para imagens nativas usando o compilador de imagens nativas GraalVM?
Um grande problema identificado no relatório foi que há um aumento no tempo necessário para iniciar os serviços em aplicativos de microsserviço desde a transição/criação original do microsserviço. A pesquisa descobriu que 60% combinados experimentaram um aumento, enquanto 35% por cento não foram afetados.
Outro resultado decepcionante é que, em vez de ter melhores tempos de redistribuição, tendo dividido um monólito em partes distintas gerenciáveis, a maioria encontrou tempos de redistribuição superiores a cinco minutos; outros superiores a 10 minutos.
Na categoria Java Virtual Machine Platform, o Docker foi de longe a seleção mais popular, representando 41% do total de entrevistados. O Kubernetes ficou em segundo lugar, com 26%, enquanto o VMWare completou os três primeiros com 16%. Jenkins com 46% foi considerada a tecnologia CI/CD mais popular, Github Actions em segundo lugar com 16%.
Em outras categorias, a AWS foi o provedor de PaaS favorito, mais uma vez o Tomcat foi o servidor de aplicativos escolhido, o Maven foi a ferramenta de construção mais popular com 68% com Gradle com 23% de seguidores. Maven subiu para 44% em 2020 e Gradle caiu de 47%, respectivamente. Isso mostra que, embora o Gradle estivesse no hype, ele se mostrou muito complicado para o desenvolvimento geral de Java; melhor ficar com o Android.
Para resumir as descobertas mais interessantes, as empresas recorrem aos microsserviços não por causa dos tempos de inicialização e reimplantação mais rápidos, mas por outros motivos, como modularidade e flexibilidade. O outro aspecto notável foi que o Spring Boot ainda é a maneira dominante de abordar os microsserviços Java, com o restante das contrapartes mais recentes tendo que cobrir muito terreno para chegar ao mesmo nível. Isso nos leva a refletir sobre o uso de AOT e GraalVM. É baixo como em um hype superestimado ou é muito novo para ser considerado uma alternativa viável ainda?
A grande conclusão foi que, enquanto a tecnologia muda, as pessoas não se apressam em adotá-la. Isso ressoa especialmente com as grandes empresas, pois elas preferem a estabilidade à invenção. É claro que, em algum momento, eles acabarão entrando na onda, mas isso leva muito tempo e um planejamento cuidadoso.
Where's Java Going In 2022?
Programming book reviews, programming tutorials,programming news, C#, Ruby, Python,C, C++, PHP, Visual Basic, Computer book reviews, computer history, programming history, joomla, theory, spreadsheets and more.
www.i-programmer.info