Retrospectiva 2023
2023 foi um ano interessante para o ecossistema Java. Relembrando que o Java foi lançado a quase 30 anos, e desde então, o grande desafio sempre foi a questão da performance, manter a estabilidade e retrocompatibilidade. O objetivo do Java sempre foi ser independente de plataforma. Isto é, sem precisar compilar o código novamente, é possível rodar em qualquer dispositivo compatível com a máquina virtual. O famoso slogam (write once, run anywhere)
Muitos acreditam que o peso desta responsabilidade impede que o Java inove com a velocidade que a comunidade espera. Uma vez que outras linguagens acabam liberando recursos importantes antes do Java. Isso vem mudando desde o lançamento do novo modelo de release a cada seis meses. Atualmente temos dois lançamentos anuais, sendo o primeiro em março e outro em setembro. Uma versão de longo suporte (LTS) a cada três anos. Isto proporciona que a indústria experimente novos recursos, frameworks se atualizem para a próxima versão LTS, tal como o JDK 21.
Foi preciso fazer esta breve introdução para podermos falar das grandes entregas do ecossistema Java em 2023. Java ainda é relevante na comunidade e vai conseguir continuar evoluindo para os próximos anos?
Leia o texto abaixo e tire suas conclusões. Comentários são bem vindos!
Novos Java Champions
Este ano, 18 novos membros entraram para o time, destacando os brasileiros Elias Nogueira e Francisco (Professor) Isidro.
Parabéns!!
JDK 21
Este ano (2023) foram lançadas duas versões, 20 e 21, sendo que a 21 é a mais importante por se tratar de uma versão de longo suporte e por ter entregado features relevantes como Virtual Threads, Sequenced Collections, Pattern Matching for switch, Record Patterns, String Templates (Preview) e Generational ZGC.
JVM Language Summit 2023
O JVM Language Summit é uma colaboração técnica aberta entre designers de linguagens, escritores de compiladores, construtores de ferramentas, engenheiros de runtime e arquitetos da VM. Compartilham experiências como criadores de JVM e de linguagens de programação para JVM. Também participam desenvolvedores não-JVM e tecnologias semelhantes para participar ou falar sobre seu runtime, VM ou sua linguagem favorita. A JVM LS 2023 aconteceu no início de agosto de 2023 em Santa Clara – CA.
Neste link pode-se acompanhar as palestras.
Projeto CRaC
Coordinated Restore at Checkpoint (CRaC) é um projeto que promete um mecanismo do tipo checkpoint/restore. Ele permite fechar arquivos e conexões, despejar o cache antes do ponto de verificação e reabrir/recuperar tudo quando o aplicativo for restaurado a partir da imagem. Pode ser comparado como o hibernar do seu computador. Isto significa que quando a aplicação for reiniciada, ela estará disponível quase que imediatamente.
É possível utilizar uma versão específica do OpenJDK com o CRaC inclusa. A azul disponibiliza no OpenJDK 17. https://www.azul.com/products/components/crac/
GraalVM
Em 2023, o GraalVM Community Edition se alinhou com a cadência de lançamento do JDK de seis meses. Haverá dois lançamentos de recursos por ano para oferecer suporte à versão mais recente do JDK. Um novo lançamento de recurso substitui todos os lançamentos anteriores. As versões do GraalVM são nomeadas de acordo com a versão do JDK que fornecem, por exemplo, GraalVM para JDK 21.
A GraalVM para Java 21 também passa a ter uma nova licença (GFTC). O GFTC destina-se a permitir o uso por qualquer usuário, incluindo uso comercial e de produção. A redistribuição é permitida desde que não seja mediante pagamento de taxa.
Spring Boot, Quarkus e Micronaut
Spring boot 3.2 lançado em novembro de 2023 traz como as principais novidades:- Suporte para Virtual Threads
- Suporte inicial para JVM Checkpoint Restore (Project CRaC)
- Melhorias para Observabilidade
- Atualmente está na versão 3.2.1
Quarkus 3.0 lançado em abril de 2023, é baseado no Jakarta EE 10 e, não é a única mudança. Esta versão vem repleta de novos recursos e melhorias que foram implementadas nesta versão.
O Quarkus 3.0 agora possui uma nova Dev UI que é mais extensível e fácil de usar. Ele também tem uma aparência nova e muito melhorada.
O Eclipse MicroProfile 6.0 se alinha ao Jakarta EE 10 Core Profile e substitui o MicroProfile OpenTracing pela MicroProfile Telemetry.
- Hibernate ORM 6
- Suporte para Maven 3.9 e Gradle 8
- Atualmente está na versão 3.6.4
Micronaut 4.0 lançado em julho de 2023.
- Foi atualizado para a ter como baseline o Java 17, kotlin 1.8 e groovy 4.0
- Atualmente está na versão 4.2.2
Oracle VS Code Extension
A extensão Oracle Java Platform traz desenvolvimento Java completo (editar-compilar-depurar e ciclo de teste) para projetos Maven e Gradle para VSCode. Bem como outros recursos.
The Java Playground
O Java Playground é uma ferramenta online simples que ajuda você a explorar os recursos da linguagem Java. Nenhuma configuração necessária, digite seu trecho Java e execute-o! O Java Playground atualmente é executado no Oracle JDK - Java 21 com recursos de visualização habilitados.
O Java 8 ainda é dominante?
Segundo o levantamento da newrelic, mais de 56% dos aplicativos agora usam Java 11 em produção (contra 48% em 2022 e 11% em 2020). Java 8 vem em segundo lugar, com quase 33% dos aplicativos usando-o na produção (contra 46% em 2022).
Embora o Java 11 tenha mantido o primeiro lugar por dois anos consecutivos, a taxa de adoção do Java 17 excedeu em muito o que o mundo dos desenvolvedores viu quando o Java 11 foi introduzido. Mais de 9% dos aplicativos agora usam Java 17 em produção (contra menos de 1% em 2022), representando uma taxa de crescimento de 430% em um ano. Demorou anos para que o Java 11 chegasse perto desse nível.
Já na pesquisa da jetbrains, o Java 8 ainda é o mais utilizado em produção:
Comentários
Postar um comentário