Highlights:
- Introducing CheerpJ 3.1: Bug fixes, restored API support and extensive robustness improvements
- Setting the stage for the future of Java on the browser with CheerpJ 4.0
What is CheerpJ?
CheerpJ is a full WebAssembly-based JVM for the browser. It comes with a complete OpenJDK runtime, a powerful emulation layer to provide file system access, general networking support, and access to a collection of system devices.
CheerpJ is a complete, flexible solution for running Java on modern browsers. It is an extremely powerful tool designed to support the scale of real-world, large Enterprise applications.
Today, we release CheerpJ 3.1, the latest stable version of the CheerpJ Core technology. Full release notes are available in the original technical release post.
Unveiling CheerpJ 3.1
CheerpJ 3.1 is the latest stable release of the new CheerpJ architecture, which was introduced as part of CheerpJ 3.0. It was first announced in the summer of 2023 and released in February 2024.
The new architecture, built around a pure-JIT JVM in WebAssembly, and a full OpenJDK distribution for the browser, has been an outstanding success, delivering on its promise of making CheerpJ faster, simpler to use and compatible with the vast majority of Java applications and applets.
Compatibility Improvements, Bug Fixes and Improved Performance
CheerpJ 3.1 introduces a collection of compatibility improvements compared to previous releases and in particular:
- It adds support for maximising Java windows
- It re-introduces support for Audio playing (which was removed in the transition from the CheerpJ 2.x to the CheerpJ 3.0 architecture)
- It adds an advanced font re-mapping facility which further improves font rendering accuracy compared to a standard JVM
CheerpJ 3.1 also introduces a powerful new feature to support Java applications with native integrations. The new execCallback option of cheerpjInit allows to intercept and handle external system commands and native executable invocations initiated from a Java application.
A handler can be provided as a Callback to implement an alternative using JavaScript. This is extremely useful in the case of legacy applications with native integrations (e.g. with Microsoft applications, or client-local executables
Finally, a large number of bugs were fixed and performance improvements were introduced in the last 10 months of usage of CheerpJ 3.0, particularly as a result of the wide recent use of CheerpJ in the Oracle Forms and EBS domains.
This emphasis on interoperability, compatibility and performance establishes a solid foundation for future innovations within the upcoming CheerpJ 4.0 release.
Eyeing the Horizon: The Future of Java on the Browser with CheerpJ 4.0
In addition to the latest stable release, we are ready to announce an exciting development in the CheerpJ world. Looking ahead, the roadmap for CheerpJ presents a tantalizing glimpse into the possibilities that lie ahead for modern Java on the browser.
With plans to not only introduce support for Java 11, 17, 21 and 25, but also to support loadable JNI modules, add compatibility with JavaFX (and potential support for SWT), improve mobile usability, and add initial support for Accessibility, the future of Java on the Browser is promising.
Full details of the Roadmap are available in the original technical release post.
With this roadmap, CheerpJ is not merely offering a tool but presenting a vision where Java stands tall as a first-class language, opening the door to a new generation of Web-native Java-powered client applications. We hope you find these possibilities as exciting as we do.