- Notifications
You must be signed in to change notification settings - Fork26
Run Java 8 applications, libraries, applets, Java Web Start, and Oracle Forms on the web without legacy plugins.
leaningtech/cheerpj-meta
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
CheerpJ is a WebAssembly-basedJava Virtual Machine for the browser. Ithas extensive compatibility with Java 8, 11 and 17, providing a full runtimeenvironment1 for running Java applications, applets, libraries, andJava Web Start / JNLP applications in the browser without plugins.
Documentation
Examples
Issues
Discord server
<scriptsrc="https://cjrtnc.leaningtech.com/4.2/loader.js"></script>
With CheerpJ, you can:
- Run existingJava applications in the browser with no changes
- IncludeJava applets in webpages without legacy plugins
- MigrateJava Web Start / JNLP applications to work on modern systems
- UseJava libraries in JavaScript/TypeScript seamlessly
- Interoperate between Java and JavaScript libraries
CheerpJ is based on a full OpenJDK runtime environment and supports:
- Networking
- Virtualized filesystem
- Clipboard
- Audio
- Printing
- Swing/ AWT
CheerpJ is a combination of two components:
- An optimising Java-to-JavaScript JIT compiler.
- A full Java SE 8, 11 and 17 runtime based on OpenJDK.
Both are written in C++ and are compiled to WebAssembly & JavaScript usingCheerp.
Learn more about CheerpJ's architecture
- Extensive support for Java 8, 11 and 17, including Swing, reflection and dynamic class loading with no manual intervention on the code.
- CheerpJ works directly on Java bytecode, and does not require access to the Java source code.
- CheerpJ comes with a full Java SE runtime, inclusive of Swing/AWT. It supports audio, printing, and any other Java SE features. The runtime supports WebAssembly for optimal performance and size.
- The JavaScript code generated by the CheerpJ JIT is highly optimised and garbage-collectible.
- CheerpJ enables bidirectional Java-JavaScript interoperability. JavaScript libraries, as well as the DOM, can be called and manipulated from Java. Also, Java modules can be invoked from JavaScript.
- CheerpJ supports Java multi-threading. In addition, you can create concurrent applications by using Web Workers.
CheerpJ is free for personal use and technical evaluation. Seelicensing for details.
Several demos of CheerpJ can be foundhere.
You can also see CheerpJ in action inJavaFiddle andBrowsercraft.
CheerpJ is used in production by teams at NASA, Siemens, UBS, andmany others.
We have a vibrant Discord community where you can ask questions, share your projects, and get community support.
Join the Discord serverFollow us on X
Footnotes
CheerpJ has been tested on Oracle Forms, EBS, Swing, AWT, and numerous frameworks and libraries. It should be able to run Java SE applications that you would otherwise need a Java Runtime Environment for.↩
About
Run Java 8 applications, libraries, applets, Java Web Start, and Oracle Forms on the web without legacy plugins.
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.
Contributors7
Uh oh!
There was an error while loading.Please reload this page.
