apignotti
Joined 13 years ago
Joined 13 years ago
I am not sure how to feel about agents solving the problem via proper modernization. It's certainly positive that students will be able to interact with this content in a modern and more accessible way, but the educational use case for our product, although not commercially important, has always been a source of pride.
https://chromewebstore.google.com/detail/cheerpj-applet-runn...
Although the x86 virtualization angle is powerful we think that native WebAssembly executables on top of a Linux-compatible kernel are more viable for the execution of full workloads in the browser.
BrowserPod is a newer project of ours that brings to vision to life, we have recently published a deep dive that might be interesting: https://labs.leaningtech.com/blog/browserpod-deep-dive
WebVM uses x86 virtualization and hence has a significant performance penalty, with the upside of running any existing software without needing the source code.
BrowserPod on the other hand runs WebAssembly binaries at almost native speed. Source code is required, but that is a fair compromise in the world of sandboxing. Most language runtimes and CLI tools are FOSS anyway, and many closed-source tools (such as Claude Code) are written in scripting languages and run on top of FOSS engines.
We have quite a bit of experience on the topic however, these are previous projects of ours:
WebVM (https://webvm.io): x86 Debian shell running client-side in the browser via x86 -> WebAssembly JIT compilation
Browsercraft (https://browsercraft.cheerpj.com): Minecraft running unmodified in the browser via our WebAssembly JVM (CheerpJ)
The version of Claude Code you see running is completely unmodified.
https://labs.leaningtech.com/blog/browserpod-deep-dive
Node.js is now fully supported, Python is in preview and Rust is coming soon.
For a glimpse of the possibilities, check our Claude Code running fully in the browser: https://browsercode.io/claude
Consider joining our Discord for help: https://discord.leaningtech.com
CheerpJ Just-In-Time compiles Java bytecode at runtime, so it makes no difference if the classes come from JAR files or are dynamically generated.
And yes, it does run Minecraft as well :-) https://browsercraft.cheerpj.com/
But I think you are right, most developers, even experienced ones, have not yet come to grasp the fully capabilities of the Web platform in conjunction with WebAssembly.
You might find previous projects from us also interesting:
* WebVM (https://webvm.io): x86 virtualization in the browser
* CheerpJ (https://cheerpj.com): A WebAssembly JVM to run large scale Java apps unmodified
* BrowserCode (https://browsercode.io/claude): Run Claude Code (and other agents) unmodified in the browser.
BrowserCode is based on BrowserPod (https://browserpod.io), a in-browser WebAssembly-based code sandboxing technology that can currently run Node.js, python, git, bash and many other command line tools. This will further expand to Ruby / Rails, Go, Rust and eventually x64 Linux binaries.
BrowserCode is free to use and unlimited. You'll need to login to each CLI with the corresponding login, i.e. with your Anthropic account or API key. All the data and execution stays completely local to the browser and it's persistent across sessions thanks to a disk backend based on the Origin Private File System API or IndexedDB.
This is a preview release, so please try and break it! Please report issues on GitHub and star the repo if you like our work. Your support will help us push this project forward.
For any question or feedback please consider joining our Discord: https://discord.leaningtech.com