Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 0 additions & 6 deletions content/showcase/HomeByMe.yml

This file was deleted.

Binary file removed content/showcase/boardspace.png
Binary file not shown.
6 changes: 0 additions & 6 deletions content/showcase/boardspace.yml

This file was deleted.

20 changes: 20 additions & 0 deletions content/showcase/bp_env.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Full-Stack Development Environment
description: A full Vite + Svelte full-stack development environment, running fully in-browser, with public URLs.
demo_url: https://vitedemo.browserpod.io/
repository_url: https://github.com/leaningtech/labs/blob/main/sites/labs/src/components/BrowserPodDemo_Beta.svelte
author: Leaning Technologies
project_type: Company Demo
niche: Dev utilities
tags:
- BrowserPod
hero_image: "./bp_env.png"
---

The main strength of Browserpod is its capability to run a project directly in the user’s browser, without any explicit setup or installation, and secured by the browser’s sandbox.

The current demo showcases one of the above capabilities, where BrawserPod is being used to build a full Vite + Svelte full-stack development environment, running entirely in the browser, with public URLs.

Any port that is bound to public interfaces inside the pod is exposed to the internet via a secret link. By sharing a link like this, you can show early adopters or clients how your application works without setting up any actual hosting. Moreover, you’ll be able to test your application from mobile devices, for example, by encoding the link in a QR code on your main device screen.

Learn more about Browserpod on the [documentation site](https://browserpod.io/docs/overview).
Binary file added content/showcase/bp_env.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
24 changes: 24 additions & 0 deletions content/showcase/browsercraft.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Browsercraft
description: Minecraft running unmodified in the browser!
demo_url: https://browsercraft.cheerpj.com/
repository_url: https://github.com/leaningtech/browsercraft
author: Leaning Technologies
project_type: Company Demo
niche: Videogames
tags:
- CheerpJ
hero_image: "./browsercraft.png"
---

## What is it?

Browsercraft runs unmodified Minecraft (version 1.2.5) in the browser using CheerpJ, a Java runtime for modern browsers. The experience is intentionally limited to 3 minutes; please refer to [minecraft.net](minecraft.net) for the full game.

## What this is not

It is not a replacement for the official Minecraft, nor a reimplementation in another programming language. This is also not a modified version of the game: we do not alter the code in any way, we simply run the original JARs.

## How it works

CheerpJ is a Java Virtual Machine written in WebAssembly that runs entirely in your browser. It can execute any Java application without modification and without requiring the source code. This demo showcases these capabilities by running an older version (1.2.5) of Minecraft and LWJGL entirely within the browser.
6 changes: 0 additions & 6 deletions content/showcase/browsercraft.yml

This file was deleted.

26 changes: 26 additions & 0 deletions content/showcase/cheerpj.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: CheerpJ
description: The WebAssembly-based Java Virtual Machine for the browser.
demo_url: https://cheerpj.com/
repository_url: https://github.com/leaningtech/cheerpj-meta
author: Leaning Technologies
project_type: Company Product
niche: Compilers
tags:
- Cheerp
hero_image: "./cheerpj.png"
---

## What is CheerpJ?

CheerpJ is a WebAssembly-based Java Virtual Machine for the browser. This means Java applications can be executed from the browser with no Java installation. It has extensive compatibility with Java 8, 11, and 17, providing a full runtime environment for running Java applications, applets, libraries, and Java Web Start / JNLP applications in the browser without plugins.

## How it works

The magic behind CheerpJ is Cheerp, which was used for compiling full Java SE 8, 11, and 17 runtimes based on OpenJDK. This runtime was originally written in C++ and compiled to WebAssembly and JavaScript, making it 100% browser compatible. The architecture is designed to support multiple versions of Java, as well as custom runtimes.

## What can CheerpJ run?

CheerpJ Core can run standalone Java applications, applets, JNLPs, and also in library mode. We have published two end-user-ready browser extensions based on CheerpJ technology: the CheerpJ Applet Runner and the CheerpJ JNLP Runner.

You can learn more about how to use CheerpJ in our [documentation](https://cheerpj.com/docs).
Binary file added content/showcase/cheerpj.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added content/showcase/cheerpj.webp
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions content/showcase/cheerpx.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: CheerpX
description: The x86 virtualization technology for running executables and operating systems entirely client-side.
demo_url: https://cheerpx.io/
repository_url: https://github.com/leaningtech/cheerpx-meta
author: Leaning Technologies
project_type: Company Product
niche: Virtual Machines
tags:
- Cheerp
hero_image: "./cheerpx.png"
---

## What is CheerpX?

CheerpX is a powerful x86 virtualization library designed to run unmodified binary applications and libraries in the browser. It leverages a WebAssembly-based sandbox and standard browser APIs to ensure security, even when executing untrusted code. CheerpX supports Linux-compatible system calls and can run many common applications, including complete Linux distributions.

## How it works

At its core, CheerpX is a two-tier emulator for the x86 architecture implemented in C++ that has been compiled to JavaScript and WebAssembly using Cheerp. CheerpX features an advanced Just-In-Time compiler that dynamically translates x86 code to WebAssembly as needed. This engine is highly robust, capable of handling dynamically generated and self-modifying code.

## What is it used for?

CheerpX is the core technology behind WebVM, one of our most successful public demos with 16k stars on GitHub, as well as Alpine WebVM and the Games Runner browser extension.

You can learn more about CheerpX on our [documentation site](https://cheerpx.io/docs/overview).
Binary file added content/showcase/cheerpx.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed content/showcase/cjdom.png
Binary file not shown.
6 changes: 0 additions & 6 deletions content/showcase/cjdom.yml

This file was deleted.

19 changes: 19 additions & 0 deletions content/showcase/client-side-code-editor.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
title: Client-Side Code Editor
description: Practice Python coding client-side in your browser!
repository_url: https://github.com/rheap404/cheerpx_hack
author: Rhea and Rida
project_type: Hackathon Winner 2024
niche: Dev Utilities
tags:
- CheerpX
hero_image: "./client-side-code-editor.png"
---

## What is it?

This platform allows users to practice coding problems in Python, featuring a split-view workspace with problem instructions on one side and a code editor with a built-in console on the other. The platform runs code client-side using CheerpX, which emulates a virtual machine in the browser — eliminating the need for server-based execution and improving speed, privacy, and scalability.

## Background

This project was developed as part of the WebVM Hackathon, leveraging CheerpX for WebAssembly-powered client-side execution of Python code in the browser. It mimics platforms like NeetCode.io, enabling users to practice coding problems and receive immediate feedback by running their code directly in the browser. The goal is to showcase the potential of WebVM for delivering powerful terminal-based applications without the need for native installations.
Binary file added content/showcase/client-side-code-editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions content/showcase/dragon-court-revived.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: "Dragon Court: Revived"
description: An old-school fantasy RPG, revived with in-game trading, multiplayer clans, and competitive leaderboards.
demo_url: https://dragoncourt.penguinchilling.com/
author: Penguin Chilling
project_type: Community
niche: Videogames
tags:
- CheerpJ
hero_image: "./dragon-court-revived.png"
---

## What is Dragon Court: Revived?

Dragon Court was originally a game released around 1997 as a Java Applet, but it became abandonware around 2017. It was created by Fred Haslam, who handled the primary coding and design, with code contributions from Elden Bishop, additional design help from Lawrence Wegner and Diane M. Jones, and artwork by Ted Galaday.

## The challenge of revival

The game relies on a dedicated server to handle saving player progress, mailing items between players, building clans, and maintaining leaderboard rankings. Since the original site went down, the Internet Archive's Wayback Machine was used to salvage as much as possible to bring back Dragon Court.

Only the last known client version was found as a Java Applet. Unfortunately, Java Applets were phased out by modern browsers since 2013 and removed from support by 2015–2017.

## How CheerpJ made it possible

Thanks to CheerpJ, the original Dragon Court binary became runnable as WebAssembly and JavaScript in modern browsers without additional setup or tinkering. The final step was restoring the server-side functionality — saving hero progress, trading, clans, and leaderboards — completing the revival of Dragon Court for a new generation of players.
6 changes: 0 additions & 6 deletions content/showcase/dragoncourtrevived.yml

This file was deleted.

26 changes: 26 additions & 0 deletions content/showcase/flatlaf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: FlatLaf
description: A modern Java Swing look-and-feel showcased running entirely in the browser via CheerpJ.
demo_url: https://flatlaf-demo.labs-leaningtech-com.pages.dev/FlatLaf-Demo/
repository_url: https://github.com/leaningtech/labs/tree/FlatLaf-Demo
author: Leaning Technologies
project_type: Company Demo
niche: Graphics
tags:
- CheerpJ
hero_image: "./flatlaf.png"
---

## What is FlatLaf?

FlatLaf is a modern open-source look-and-feel framework for Java Swing, providing a clean and contemporary UI. It is widely used as a drop-in replacement for legacy desktop styling. This demo showcases FlatLaf running entirely in the browser using CheerpJ.

## What the demo includes

The FlatLaf distribution includes multiple standalone applications. This demo combines two of them into a single browser-based experience: the FlatLaf Demo, which presents a broad overview of Swing components and visual styles, and the FlatLaf Theme Editor, which allows users to create and customize themes interactively.

Users can design or modify a theme in the Theme Editor and immediately load it into the FlatLaf Demo to preview the result.

## Technical details

The demo runs on the CheerpJ Java 17 runtime and executes the original, unmodified FlatLaf JARs.
Binary file added content/showcase/flatlaf.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
25 changes: 25 additions & 0 deletions content/showcase/homebyme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
---
title: HomeByMe
description: A home design application, compiled to the web with Cheerp.
demo_url: https://home.by.me/en/
author: HomeByMe, Leaning Technologies
project_type: Enterprise Demo
niche: Interior Design
tags:
- Cheerp
hero_image: "./homebyme.png"
---

## What is HomeByMe?

HomeByMe is an online 3D space planning service developed by Dassault Systèmes SE, and powered by Cheerp.

HomeByMe allows users to design, visualise, and review home and furniture layouts, using intuitive 3D views to allow consumers to easily create detailed floor plans, test various furniture, play with thousands of decoration elements, and experience a virtual immersion into their home. HomeByMe is enjoyed by users worldwide, who have shared over 1.5 million floor plans and interior design ideas with home builders, kitchen retailers, architects, friends, and family.

## Background

HomeByMe is primarily written in C++, and its large multi-target codebase was developed over a decade by a team of developers and offered until 2015 as a set of native applications for Desktop and Mobile. With an interest in exploring modern HTML5 web technologies to deliver a browser-based version of their application, and after research and consideration of alternative options, 3DVIA engaged with Leaning Technologies to explore the viability of compiling their multi-target C++ codebase to JavaScript (and later WebAssembly).

## How Cheerp powers HomeByMe

Cheerp was introduced in the HomeByMe toolchain in 2015, when Dassault Systèmes started collaborating with Leaning Technologies in the porting of HomeByMe. In the course of a few months of work, their very large application was fully converted and functional in HTML5/JavaScript, and we could put our combined attention to performance and size optimisations. Since then, Cheerp has been used in production to convert all the logic of the application, which has been kept fully in C++, with a new frontend integration written in HTML5/JavaScript.
26 changes: 26 additions & 0 deletions content/showcase/imagej-js.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
---
title: ImageJ.js
description: A web port of ImageJ, an open-source image processing tool popular in the scientific community.
demo_url: https://aicell-lab.github.io/imagej.js/
repository_url: https://github.com/aicell-lab/imagej.js
author: AICell Lab
project_type: Community
niche: Scientific Software
tags:
- CheerpJ
hero_image: "./imagej-js.png"
---

## What is ImageJ.js?

ImageJ is a well-known Java-based software for image analysis, widely used in the scientific community. ImageJ.js brings the full power of ImageJ to the web, enabling professional image analysis on any device with a modern browser.

## Powered by CheerpJ 3

ImageJ.js was enhanced and updated with CheerpJ 3 — a WebAssembly compiler that runs Java applications directly in the browser without any preprocessing. This unlocked capabilities that were impossible in previous versions, such as lifting the image file size limit and enabling proper file system access.

## Adoption

Originally created during a hackathon in Dresden and evolved through the ImJoy project, ImageJ.js now serves 1,000–1,500 unique users daily for scientific image analysis, education, and research.

Learn more about this project [here](https://aicell.io/post/improving-imagej.js/).
Binary file added content/showcase/imagej-js.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed content/showcase/imagej.webp
Binary file not shown.
7 changes: 0 additions & 7 deletions content/showcase/imagej.yml

This file was deleted.

Binary file removed content/showcase/itext.png
Binary file not shown.
6 changes: 0 additions & 6 deletions content/showcase/itext.yml

This file was deleted.

24 changes: 24 additions & 0 deletions content/showcase/javafiddle.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
title: Java Fiddle
description: Compile, edit, and run Java directly in the browser.
demo_url: https://javafiddle.leaningtech.com/
repository_url: https://github.com/leaningtech/javafiddle
author: Leaning Technologies
project_type: Company Demo
niche: Dev Utilities
tags:
- CheerpJ
hero_image: "./javafiddle.png"
---

## What is Java Fiddle?

JavaFiddle is an online tool to build and share snippets of Java code, powered by CheerpJ. It was built to showcase the possibilities of client-side browser IDEs and to serve as inspiration for other developers.

## Features

Java Fiddle is also used by the community as a free educational tool for the Java programming language, removing the need to install Java locally. JavaFiddle supports Java 8 SE, including Swing.

## Open source

This tool is completely open source — feel free to explore how it was built, make suggestions, or contribute!
6 changes: 0 additions & 6 deletions content/showcase/javafiddle.yml

This file was deleted.

20 changes: 20 additions & 0 deletions content/showcase/linux-dungeon.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Linux Dungeon
description: A browser-based fantasy puzzle game that runs entirely in a virtual Linux terminal.
demo_url: https://jfoxuk.github.io/webvm/
repository_url: https://github.com/JFoxUK/webvm
author: Jonathan Fox, Ruby Tipper
project_type: Hackathon Winner 2025
niche: Virtual Machines and Education
tags:
- CheerpX
hero_image: "./linux-dungeon.png"
---

## What is Linux Dungeon?

Linux Dungeon is a browser-based fantasy puzzle game that runs entirely in a virtual Linux terminal. Players take on the role of an adventurer trapped in a digital dungeon, where the only way forward is to master real Linux commands. Each room is sealed inside a password-protected `.zip` file, and players must explore directories, decode clues, and edit configs to advance.

## How it was built

This project was built for WebVM: Hackathon II, which challenged developers to create educational Linux experiences using CheerpX. By running a full Linux environment client-side in the browser, Linux Dungeon turns command-line learning into an engaging, gamified adventure — no installation required.
Binary file added content/showcase/linux-dungeon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions content/showcase/logisim.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: Logisim.app
description: A complete, browser-based port of the classic Logisim logic circuit simulator.
demo_url: https://logisim.app/
repository_url: https://github.com/De-Rossi-Consulting/logisim.app
author: Ethan Hale, Martin Nyaga
project_type: Community
niche: Scientific
tags:
- CheerpJ
hero_image: "./logisim.png"
---

## What is Logisim.app?

Explore how modern computers work by building them from the ground up. Logisim.app lets you design logic circuits — from simple adders and multiplexers to full ALUs and CPUs — in exactly the same way as the classic Logisim by Carl Burch. Requiring no downloads or setup, it is fully compatible with existing Logisim circuits and instantly available on the web.

## How it works

Logisim.app is a 1:1 port that works by running Java on a WebAssembly JVM via CheerpJ. The Java codebase is the same as the original, with a few targeted modifications to allow Logisim to work within the browser's secure sandbox — including letting users open and save files to disk.
Binary file added content/showcase/logisim.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 20 additions & 0 deletions content/showcase/nasa-aeronautics.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
---
title: NASA Aeronautics Simulators
description: Interactive simulator applets for aeronautics students, powered by CheerpJ.
demo_url: https://www1.grc.nasa.gov/beginners-guide-to-aeronautics/bga-simulations/
repository_url: https://github.com/nasa/BGA
author: NASA
project_type: Community
niche: Education
tags:
- CheerpJ
hero_image: "./nasa-aeronautics.png"
---

## What is it?

NASA has multiple educational and interactive applications that serve as a guide for those interested in getting started with aeronautics. In particular, NASA is making use of CheerpJ to run one of their most popular applet collections: the Aeronautics Simulators. CheerpJ has made it possible to run these applets in the modern browser, saving these valuable educational resources from being lost.

## Try it yourself

If you are interested in how CheerpJ can help your applets run again in the browser, please take a look at our [applet tutorial](https://cheerpj.com/docs/getting-started/Java-applet).
6 changes: 0 additions & 6 deletions content/showcase/nasa-applets.yml

This file was deleted.

Binary file removed content/showcase/openastex.png
Binary file not shown.
6 changes: 0 additions & 6 deletions content/showcase/openastex.yml

This file was deleted.

Loading
Loading