CheerpJ 5.0 is a browser-based OpenJDK distribution that runs Java applications in WebAssembly, aiming to bring unmodified desktop and business software to the web. It adds Java 21 and 25 support alongside versions 8, 11 and 17, completing the developers’ roadmap to match current Java releases. For the first time, it includes the full JDK for each supported version, so users can compile and run Java in-browser with tools such as javac and jshell. CheerpJ works from bytecode, requiring no source code, and supports features including reflection, custom class loaders, multithreading and JVM languages such as Kotlin and Scala. Its virtualized system layer provides file access, networking, clipboard, printing and multiple application windows.
The release’s major technical change is an experimental WasmGC execution engine, with Java objects and compiled hot code represented as WebAssembly rather than JavaScript. It is expected to improve startup and runtime performance and ease support for native libraries, potentially enabling modern Minecraft and other demanding applications. The engine is unstable, requires recent browsers and has no automatic fallback, so it is not recommended for production; a stable version is planned for CheerpJ 6.0 in early 2027. The current stable engine also gains performance and usability improvements, while Java 11 and 17 support is considered robust for most applications. CheerpJ supports Swing and AWT, but not yet JavaFX or SWT. demos include unmodified Minecraft, Java libraries called from JavaScript, and browser-based Java development.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.