CHEERPJ CORE

Run Java in the browser

CheerpJ Core is a WebAssembly-based Java Virtual Machine for the browser. It has extensive compatibility with Java 8, Java 11 and Java 17 (preview), and provides a full runtime environment for running Java applications, applets, libraries, and Java Web Start / JNLP applications in the browser without plugins.

Key Features

Java on the browser

CheerpJ is a Java Virtual Machine in WebAssembly, that enables modern browsers to run Java 8, Java 11 and Java 17 (preview), 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.

FAQs

Your Most Frequently Asked Questions

CheerpJ can run Java Applets, Java Web Start applications, stand-alone Java applications (including Swing), and Java libraries, on any modern browser that supports WebAssembly.

CheerpJ is the only full Java Runtime Environment for the browser, extensively compatible with Java SE and equipped with a full build of the OpenJDK JRE. By using CheerpJ, you will not need to modify your application – it will just work on any browser, without a local Java installation.

You can use CheerpJ in two scenarios:

  1. To preserve and improve access to existing legacy Java applications, including third-party ones, in the form of Java Applets, Java Web Start, or standalone. With CheerpJ, you can extend the life of mission-critical Java content, improve its security, and eliminate the need for legacy browsers and Java Desktop installations.
  2. If you are a developer, to modernise existing Java applications into web applications, without rewriting them. CheerpJ allows you to use existing Java either to develop a full application, or to preserve parts of the application (e.g. the client-side business logic) with a new HTML5 UI, breathing new life in your application with minimal investment.

Yes. CheerpJ is used by many organizations worldwide to run Oracle Java-based products, such as Oracle Forms and Oracle E-Business Suite, on modern browsers. This includes several Fortune 500 companies as well as local and federal government agencies.

CheerpJ is a full JVM in WebAssembly, running client-side within the browser sandbox. It has no native or server-side components. As such, it benefits from the Web security model, drastically improving the application security profile compared to standard Java applications.

Learn More About CheerpJ

Learn More About CheerpJ

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.