FAQs

Frequently asked questions about CheerpJ.

General

What is CheerpJ?

CheerpJ is a full Java platform that runs inside modern web browsers. It includes a Java Virtual Machine, Java Runtime Environment, and system virtualisation layer implemented in WebAssembly and JavaScript. CheerpJ enables existing Java applications, libraries, and applets to run unmodified in browsers without requiring a local Java installation or Java plugins.

Why should I use CheerpJ?

CheerpJ allows organizations to keep running any legacy Java application that is either impossible or impractical to rewrite or replace. It extends the life of your application with minimal investment, aligns with cloud-first strategies, and removes client-side Java dependencies.

What types of applications does CheerpJ support?

Java Applets; Java Web Start applications (JNLP); Stand-alone Java applications (including Swing and AWT); Java libraries.

What is the main difference between CheerpJ and any other Java migration tool on the market?

CheerpJ is the only full Java environment for the browser, extensively compatible with Java SE and coming with a full OpenJDK distribution. Compared to alternatives, it does not come with a partial, custom runtime environment, or with limitations on the Java language constructs that can be used. By using CheerpJ, you will not need to modify your application at all — it will just work on any browser, without a local Java installation, without any preprocessing or recompilation.

Can I partially modernise an application using CheerpJ?

You can absolutely use CheerpJ to run any business logic or library in Java, and re-implement the UI of your application using a web-native technology (e.g. React, Angular).

Who uses CheerpJ?

Enterprises, public sector organizations, and software vendors worldwide — including Fortune 500 companies — use CheerpJ to modernise Java-based applications like Oracle Forms, EBS, and internal Swing/AWT tools.

Can I use CheerpJ to run Oracle Forms, Oracle EBS, or any other Java-based Oracle product?

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

Compatibility

Does CheerpJ support all Java APIs?

CheerpJ implements the vast majority of standard Java SE APIs used in real-world enterprise applications. It is built on a full OpenJDK distribution and runs Java applications and libraries without requiring source code changes. Most production Java applications work out of the box, including those using Swing, AWT, multithreading, networking, reflection, custom class loaders, and dynamic constructs.

Which Java versions are supported?

Full support: Java 8, Java 11, Java 17. Legacy support: Java 6 and Java 7 on respective LTS versions (available on request).

Which GUI frameworks are supported?

Swing (full support), AWT (full support), JavaFX (partial support — core UI works; advanced graphics APIs may require adaptation), Oracle Forms (including as part of E-Business Suite).

Which browsers are supported?

Chrome, Edge, and other Chromium-based browsers; Firefox; Safari.

Does CheerpJ work on mobile?

Yes, CheerpJ runs on any browser, including most mobile browsers. It supports touch-based input methods, virtual keyboards, and interaction with the local mobile operating system.

Does CheerpJ require source code?

No. It runs directly on compiled Java bytecode (.jar or .class files), including encrypted and obfuscated code.

Does CheerpJ support JNI?

Yes, CheerpJ comes with a full OpenJDK runtime environment, including its full Java Native Interface. Via its JNI, CheerpJ can interact with its native platform, the browser, via JavaScript native methods.

How is performance compared to a local JVM?

CheerpJ's WebAssembly JVM delivers excellent performance with minimal runtime slowdown compared to native (like for like). Startup time varies by application size and deployment model, but is generally slower compared to native due to the need to download the JVM and JRE assets.

How does CheerpJ handle security?

CheerpJ is a pure web application, inheriting the Web Security model. Runs entirely in the browser sandbox; inherits web security model including Cross-Origin restrictions; removes Java plugin vulnerabilities; compatible with zero-trust architectures and secure mobile/thin-client deployments.

Deployment & Hosting

What deployment models does CheerpJ offer?

CheerpJ is a collection of static JavaScript and WebAssembly assets, as well as OpenJDK artefacts. It can be deployed on any standard HTTP server or CDN.

Does CheerpJ require server changes?

No. It works with standard web servers and CDNs.

Where can CheerpJ be hosted?

Leaning Technologies' managed CDN (on request); Customer-managed servers or CDNs; Air-gapped environments (self-hosting supported with commercial licences).

Can I self-host CheerpJ?

Yes. Self-hosting is allowed with any commercial licence or during technical evaluation.

Can I host CheerpJ on multiple servers?

Yes. Hosting on more than one server, including with load balancers and CDNs, is allowed within the scope of one licence.

Can I host CheerpJ in an air-gapped environment?

Yes, you can self-host CheerpJ on an air-gapped environment with any commercial licence.

Licensing & Support

How is CheerpJ licenced?

Per-application licencing is standard. Custom licencing models, including per-user, are available.

Are licences annual or perpetual?

Annual subscription is standard. Multi-year and perpetual licences are also available.

How many licences of CheerpJ do I need?

One licence is required for each application where CheerpJ is integrated.

Can I licence CheerpJ on a per-user basis?

Yes. Per-user licencing can be discussed for appropriate use cases.

Does the licence include software updates and support?

Yes. Software updates are included for the duration of the licence (or 4 years for perpetual licences). Standard support is included with enterprise licences.

Can I get a custom support agreement with SLAs?

Yes. Custom support agreements with guaranteed response times are available.

Where can I find documentation?

Full technical documentation is available at cheerpj.com/docs.

How quickly can I run a Proof of Concept?

Many customers complete a working Proof of Concept in one week.

Still have questions?

Get in touch with our team.

Contact Us ›