A Leaning Technologies lançou o CheerpJ 3.0, uma JVM WebAssembly que roda em navegadores modernos. CheerpJ 3.0 é uma reescrita completa do CheerpJ que oferece suporte a aplicativos Java “muito grandes”, como IntelliJ IDEA e Minecraft, disse a empresa em um anúncio de 1º de fevereiro.

Substituindo o CheerpJ 2.3 de 2022 como versão com suporte de longo prazo da Leaning Technologies, o CheerpJ 3.0 baseia-se nas lições de sete anos de uso empresarial e comunitário do CheerpJ e de outros projetos baseados em WebAssembly, como CheerpX, um sistema de virtualização x86 para WebAssembly.

CheerpJ compila bytecode Java em JavaScript usando um compilador JIT (just-in-time) para bytecode Java. Inclui uma versão completa e não modificada do OpenJDK, juntamente com uma camada de sistema virtualizado, incluindo sistemas de arquivos virtualizados e suporte de rede virtualizada usando Tailscale. Os principais recursos do CheerpJ 3.0 incluem:

  • Executar aplicativos Java grandes e não modificados em navegadores sem plug-ins ou instalação de Java.
  • Nenhum componente do lado do servidor é necessário.
  • Funciona a partir de arquivos JAR (Java Archive) não modificados, sem necessidade de etapa de compilação ou pré-processamento.
  • Suporta reflexão e carregadores de classes.
  • Interoperabilidade com JavaScript.

CheerpJ 3.0 está atualmente limitado ao suporte Java 8. No entanto, uma grande motivação para a nova arquitetura foi suportar múltiplas versões Java e de tempo de execução. A Leaning Technologies planeja adicionar suporte para versões mais modernas do Java LTS (Long-Term Support) no final de 2024, começando com o Java 11. Os objetivos de longo prazo incluem alcançar a paridade com a versão mais recente do Java LTS, que atualmente é JDK 21.