works from Java bytecode , without requiring access to the source code

CheerpJ 2.1 is now available. Check it out ! Release notes here.

Convert full applications or individual components (such as libraries) and expose JavaScript APIs to use them from HTML5.

CheerpJ converts your Java client into a standard HTML5, automatically. No longer ask your end users to maintain a local Java installation.

Access the DOM, WebAPIs (e.g. WebGL, WebAudio) and browser resources from Java. Make Java calls from JavaScript.

Based on both WebAssembly and highly-optimised JavaScript, CheerpJ can achieve excellent runtime performance and a small download footprint.

Reflections, proxy classes, multi-threading are all supported thanks to unique technical solutions.

How it works

Three key components

Ahead-of-Time

compilation The CheerpJ compiler processes your Java bytecode ahead of time, generating optimised JavaScript that can run on any browser.

CheerpJ Runtime In parallel to your converted application, deploy a higly-optimised runtime in WebAssembly and JavaScript, keeping 100% of the execution client-side. Based on a full unmodified build of OpenJDK . On-line

CheerpJ Java compiler Whenever new classes are generated (e.g. through proxy classes), CheerpJ will convert them on the fly for you.