Highlights:
- We unveil our roadmap for modern Java support in CheerpJ.
- From Java 11 to Java 17 in 2025, to LTS parity in 2026, CheerpJ’s future promises to unlock a new era of Java applications on the Web.
- The vision for CheerpJ is clear: an Enterprise-grade, fully supported distribution of OpenJDK in WebAssembly for the browser
CheerpJ was released in 2018 and has since gained popularity as a solution for running Java applications in the browser. In 2024 we released CheerpJ 3.0, a full re-write of CheerpJ that drew from the lessons learned from years of enterprise and community use of the tool.
In the last 6 years, CheerpJ has primarily been used as a tool to access and modernise Java 8 (and older) as browser-based applications. At least 90% of commercial users of CheerpJ, and virtually all over 200,000 end-users of CheerpJ-based extensions, use the technology for one of these purposes.
However, our vision for CheerpJ has never stopped with Java 8, and we have never seen its role limited to being a tool to run legacy Java applications. Since 2017, we have always had the ambition for CheerpJ to become a de facto standard for running Java – any Java – on the browser, or, in other words, to be a JVM/JRE environment for Web Applications.
We are now ready to unveil a roadmap to achieve that vision: CheerpJ will soon become an Enterprise-grade, fully supported and up-to-date distribution of OpenJDK in WebAssembly, for modern browsers.
The roadmap ahead unveils our exciting timeline towards making Java a prominent player in the web development arena, starting from Java 11 and 17 in 2025, and achieving LTS-parity by 2026.
CheerpJ’s Vision Unveiled
CheerpJ’s vision transcends mere compatibility, aiming to craft a future where Java developers will be able to look at the browser as just another target to distribute applications or libraries on, enabling a new generation of Web-enabled Java clients.
CheerpJ does this by providing a full Java environment in WebAssembly for the browser, consisting in a combination of Java Virtual Machine, Java Runtime Environment, and a thin OS emulation layer. All this is provided as a plug-and-play JavaScript library, with no special build-time step required.
We are now ready to commit to the following timeline for support of modern Java versions in CheerpJ:
- Support for Java 11 – March 2025 (CheerpJ 4.0)
- Support for Java 17 – By the end of 2025 (CheerpJ 5.0)
- Support for Java 21 – By early 2026 (CheerpJ 6.0)
- Support for Java 26 (LTS parity) – By the end of 2026 / Early 2027 (CheerpJ 7.0)
Our timeline might become more aggressive depending on commercial demand.
Starting from the 4.0 release, CheerpJ will come with multiple runtime support for all supported LTS versions. For example, CheerpJ 6.0 will support Java 8, 11, 17 and 21, with four separate OpenJDK builds. Developers will be able to choose which version of the JVM and JRE to use, and self-hosted and OEM users will be able to only package the required OpenJDK version.
Unlocking potential: a full Java environment for the Browser
With these developments, we are on a course to realise the full ambition of CheerpJ: a full Java environment for modern browsers, centred around up-to-date builds of OpenJDK, and a JVM in WebAssembly.
While all this sounds exciting, it’s not the end of the story. Other crucial features have been or will be added to CheerpJ to provide a complete solution to run Java applications in-browser.
CheerpJ will introduce support for native modules, allowing Java libraries with native components to be used on CheerpJ applications. Developers will be able to provide WebAssembly builds of native components, thus extending the scope of real-world Java applications that can run on CheerpJ. As an example of this is the LWJGL library, which will now be supported by CheerpJ, as demonstrated by an upcoming demo of unmodified Minecraft 1.0 running on the browser.
Thanks to this feature, CheerpJ 4.0 will also introduce initial support for JavaFX, and will create the foundations to provide full support for SWT future releases. The support for these toolkits in CheerpJ marks a clear intention to allow most UI-based Java Desktop applications to run in CheerpJ.
Further, after over one year of work behind the scenes, CheerpJ 4.0 will introduce full support for mobile input (virtual keyboard and touch events), as well as an initial, but quite extensive, support for Accessibility.
Conclusion: Enabling a new deployment model for Java Applications
CheerpJ 4.0 and its future versions will realise the original vision of CheerpJ: a true, complete OpenJDK-based Java environment for the Web Browser.
Thanks to its feature set, flexibility, robustness, performance and real-world validation, CheerpJ will open the door to a new generation of Web-enabled Java applications and components.