Highlights:
- CheerpJ 4.0 is now generally available
- Introducing support for Java 11
- Introducing support for web-native WebAssembly components via the JNI
- Significant performance improvements
- Announcing preview support for Java 17 in May 2025
- Full release notes available こちらをご覧ください。
CheerpJとは
CheerpJ is a full WebAssembly-based Java platform for modern browsers. It comes with a full build of the OpenJDK runtime, and 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. It was initially released in 2017, and has historically been focusing on the support for legacy Java 8 (and older) applications.
Today, we release CheerpJ 4.0, the latest stable version of the CheerpJ Core technology, and the first to support Java 11, our initial milestone towards expanding CheerpJ compatibility to reach modern LTS releases (see our Roadmap for Modern Java announcement).
What’s new in CheerpJ 4.0
CheerpJ 4.0 is the first major release to introduce support for Java 11 and to expand support for native components in JavaScript/WebAssembly running in the browser. It also introduces a fully revamped, very powerful support for mobile devices, and major performance improvements.
CheerpJ 4.0 represents the first stable release of CheerpJ with an expanded focus not only on running legacy Java enterprise applications, but also on running more modern Java code on the browser as part of Web applications.
Java 11 support
CheerpJ 4.0 now supports Java 11, enabling more modern Java applications and libraries to run in the browser.
Support for Java 11 and later in 2025 for Java 17 is part of a multi-year plan to reach LTS parity with modern Java, which is planned to be completed by the end of 2026, with Java 25 support.
This has been one of the most highly requested features in the past several years, and we are finally glad to be able to announce stable support for this version of Java.
As is the case with Java 8, CheerpJ for Java 11 comes with a full build of OpenJDK. CheerpJ Core is distributed with both runtimes, but thanks to its on-demand package loading architecture, only the relevant runtime is loaded dynamically at runtime.
You can read more about our plans to support modern versions of Java in our Roadmap announcement.
Support for Native Libraries (JNI)
CheerpJ 4.0 introduces extended support for Native Libraries via the Java Native Interface. Native Libraries are distributed as WebAssembly modules, and executed in the browser sandbox.
CheerpJ includes a large number of native modules in WebAssembly, distributed as part of the OpenJDK build, with more modules being planned for the future, particularly to provide JavaFX and SWT support.
Developers can distribute their custom native modules, allowing a very high level of flexibility and extendibility, particularly for large applications, without any architectural changes.
Extended mobile support
CheerpJ 4.0 features a complete overhaul of its input support for mobile devices.
Android (Chrome) and iOS (Safari) devices can now enjoy excellent support for touchscreens, virtual keyboard, and resizing, allowing Java UIs in CheerpJ to be fully usable on most mobile devices.
A complete, powerful Java platform for the Web
Thanks to its support for modern Java, extensibility via WebAssembly native modules, mobile support, and its unique Library Mode, CheerpJ is the most powerful and complete Java platform for the browser. It is an extremely powerful tool, designed and tested to work at the scale of real-world, large enterprise applications.
The main use cases of CheerpJ are:
- Running full, unmodified Java UIs on the browser, with full support for Swing and AWT
- This covers stand-alone Java applications, but also Applets and Java Web Start applications, either via CheerpJ Core, or via the CheerpJ browser extensions
- Used by thousands of applications, CheerpJ has been battle-tested on large, real world enterprise applications for over 7 years, including Oracle Forms and Oracle E-Business Suite applications
- Using Java components as part of Web Applications
- The unique Library Mode makes it possible to use Java libraries from JavaScript using a natural async / await based approach.
- This makes it possible to build a new generation of fully client-side Web applications that combine Web-native components with Java libraries to implement complex functionalities.
- Gradually modernise existing Java-based applications into Web Applications
- Thanks to the robustness and full feature set of CheerpJ, and the use of library mode, developers can Enterprise customers can use this approach to progressively modernise large-scale UIs, allowing gradual approaches and more aggressive timelines when delivering projects.
Technical Resources
The complete technical release notes for CheerpJ 4.0 are available on our technical blog. Developer resources are available on the CheerpJ documentation hub, including documentation, examples, and tutorials.
Interested in the architecture of CheerpJ? You will find a full overview こちらをご覧ください。.
Business Resources
Our website offers extensive business resources, including details on all the CheerpJ-based solutions available for businesses (CheerpJ Core, CheerpJ Applet Runner, CheerpJ JNLP Runner), extensive case studies, and licensing options for small and large organisations.