How CheerpJ Works

CheerpJ is a WebAssembly-basedΒ Java Virtual Machine for the browser. This means Java applications can be executed from the browser with no Java installations. Amazing, right? but… How does it work?

Full Java Runtime

CheerpJ comes with a full OpenJDK runtime, providing full compatibility with any Java application

Full JVM in WebAssembly

CheerpJ runs Java bytecode thanks to a WebAssembly Just-In-Time compiler

Secure by Design

CheerpJ operates within the browser sandbox, using safe and secure Web APIs for system access

CheerpJ runs in any modern browser using standard Web technologies, particularly WebAssembly, JavaScript, and HTML5. It can either be integrated into a web page like any JavaScript library, by simply adding a <script> tag, or via a browser extension.

CheerpJ is very simple to use as it exposes an API for executing standalone Java applications, applets, Java Web Starts, and Java libraries – entirely in the browser. One of the strengths of CheerpJ is that it works directly with Java byte code/JARs, meaning no need to modify or have access to the application’s source code.

CheerpJ assets are static, which makes it easily self-hostable, and we provide a cloud version under theΒ CheerpJ Community LicenceΒ (free to use for personal projects and technical evaluations).

CheerpJ is a WebAssembly-basedΒ Java Virtual Machine for the browser. This means Java applications can be executed from the browser with no Java installations. Amazing, right? but… How does it work?

Full Java Runtime

CheerpJ comes with a full OpenJDK runtime, providing full compatibility with any Java application

Full JVM in WebAssembly

CheerpJ runs Java bytecode thanks to a WebAssembly Just-In-Time compiler

Secure by Design

CheerpJ operates within the browser sandbox, using safe and secure Web APIs for system access

CheerpJ runs in any modern browser using standard Web technologies, particularly WebAssembly, JavaScript, and HTML5. It can either be integrated into a web page like any JavaScript library, by simply adding a <script> tag, or via a browser extension.

CheerpJ is very simple to use as it exposes an API for executing standalone Java applications, applets, Java Web Starts, and Java libraries – entirely in the browser. One of the strengths of CheerpJ is that it works directly with Java byte code/JARs, meaning no need to modify or have access to the application’s source code.

CheerpJ assets are static, which makes it easily self-hostable, and we provide a cloud version under theΒ CheerpJ Community LicenceΒ (free to use for personal projects and technical evaluations).

Key Features

Java on the browser

CheerpJ is a Java Virtual Machine in WebAssembly, that enables modern browsers to run Java 8 and Java 11, client-side.

Full Runtime

CheerpJ comes with a full OpenJDK runtime environment, ensuring that existing applications β€˜will just work’. This includes Java Swing, AWT, and any other runtime component.

Scalable JNI Architecture

CheerpJ has extensive native method compatibility, and allows developers to ship custom natives in JavaScript / WebAssembly, providing a viable path for running complex Java applications.

Networking and System

CheerpJ provides a full networking stack (HTTP(s), TCP/IP), as well as support for file access, clipboard, audio, printing, and more.

Java-JavaScript Interoperability

CheerpJ provides multiple mechanisms for Java and JavaScript to interoperate.

Full Classloader Support

CheerpJ gives full control to the appropriate Classloader for class resolution, including application-provided ones. This ensures full compatibility with the most complex applications.

Effortless Deployment

CheerpJ does not need access to the source code at all, operating at the level of Java bytecode. Third-party libraries, dependencies and obfuscated code pose no issue.

Legacy Modernization

With CheerpJ, you can modernize access to legacy Java Applets and Applications on modern browsers, removing the requirement for IE, Edge IE mode, and for a local Java installation.

Web Development

CheerpJ powers the browser with a full Java environment, so developers can combine Java components with web-native applications.

Our Tools

CheerpJ Core

The main CheerpJ tool for developers. A JVM / OpenJDK distribution in JavaScript and WebAssembly. Runs full Java applications and libraries in the browser.

Use Cases:

πŸ–₯️Modernize legacy Java Desktop applications

πŸ“±Develop Web Apps with Java components

πŸŽ“Java educational platforms and training apps

πŸ› οΈBrowser-based deployments of legacy internal software

 

CheerpJ JNLP Runner

An end-user tool to run Java Web Start apps in Chrome or Edge – without installing Java locally. Perfect for legacy enterprise applications.

Use Cases:

🧾Launch .jnlp  files in modern browsers

🏒Replace deprecated Java Web Start workflows

πŸ§ͺScientific and technical software delivery

🌐Support your enterprise migration to OpenJDK

CheerpJ Applet Runner

An end-user tool to run Java Applets on modern browsers. Works instantly on Chrome or Edge, no code changes required.

Use Cases:

🧱Access Applets onlegacy websites

πŸ’ΉFinancial/trading platforms with applet UIs

πŸŽ“Educational tools, and scientific simulations

🌐Support your enterprise migration to OpenJDK

Not sure where to start? Find the right tool for you.

Request a demo

Discover how to modernize and improve access to your legacy Java applications with CheerpJ.

Schedule a free demo with our team to learn how CheerpJ can help address your Java requirements.

Fill in the form or book a demo directly here

    Leaning Technologies needs the contact information you provide to contact you about our products and services. You may unsubscribe from these communications at any time. For information on how to unsubscribe, as well as our privacy practices and commitment to protecting your privacy, check out our Privacy Policy.

    en_GBEnglish (UK)