frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

CheerpJ 4.0: WebAssembly JVM for the browser, now with Java 11 and JNI support

https://labs.leaningtech.com/blog/cheerpj-4.0
9•apignotti•1y ago

Comments

palata•1y ago
That's technically pretty cool, but it makes me wonder:

In order to run a Java Desktop app, I need to install a JVM first (or the Desktop app can embed it, I guess that's what IntelliJ does, right?).

Now if I run CheerpJ, it means that I essentially download a JVM when I load the page (every time), and run code in that JVM. But at this point, why not downloading a Desktop app?

It feels like we are going around, shipping simple web pages together with full browsers and calling that "desktop apps" (e.g. ElectronJS), then shipping complete JVMs as web pages and calling that a "web page"... why don't we just ship simple webpages through browsers and complex desktop apps through package managers?

apignotti•1y ago
With CheerpJ you are downloading the subset of the JVM that you need, and actually only once thanks to the standard browser cache.

There are many reasons why shipping via the browser is a better choice compared to shipping desktop apps. The main 3 in my opinion are:

1. Distribution: Give your user a link and the app will start 2. Isolation: The user can have confidence the app won't read his personal files. 3. Cross-platform: Every OS and every device, for real this time

yuri91•1y ago
For reference, when loading https://browsercraft.cheerpj.com for the first time (up to loading a world), my browser downloaded ~32MB.

The second time almost nothing.

jeffreportmill1•1y ago
And here's an entire Java IDE with CheerpJ that downloads less than 15mb:

https://reportmill.com/SnapCode

palata•1y ago
> With CheerpJ you are downloading the subset of the JVM that you need

That's interesting! May I ask how it works? Does that also happen with e.g. IntelliJ?

> Every OS and every device, for real this time

Doesn't the JVM run everywhere in 2025?

apignotti•1y ago
> That's interesting! May I ask how it works? Does that also happen with e.g. IntelliJ?

Byte ranges request do most of the heavy lifting, data is loading exclusively on-demand.

> Doesn't the JVM run everywhere in 2025?

What about iOS? Android has Java, but can't run desktop Java apps. Chromebooks also have limits.

palata•1y ago
> Byte ranges request do most of the heavy lifting, data is loading exclusively on-demand.

I don't understand what that means. The JVM is supposed to interpret and sometimes compile bytecode, right? How can it be done with only a fraction of the JVM?

Or are you saying that it is constantly communicating with a server that does the work?

apignotti•1y ago
The VM itself is very small, it's the OpenJDK runtime that is quite sizeable. Byte ranges are used to only download the parts of the runtime (in terms of bytecode) that are required.

There is no server-side computation. CheerpJ runs code exclusively client-side.

palata•1y ago
But you said before that you only download a subset of the JVM, right? Or did you mean a subset of the JDK, including the JVM and... I guess other stuff?
apignotti•1y ago
I meant the JVM in an extended sense: the combination of the bytecode parsing, JIT compiler and OpenJDK runtime. You are right, I should have been more precise and refer to only the runtime part, which is by far the most significant.
palata•1y ago
I was not trying to prove you wrong, I'm just genuinely interested :-). I don't see a lot of articles about the JVM these days.

Emergent cheating and whistleblowing in autonomous research swarms

https://arxiv.org/abs/2609.04170
1•anigbrowl•2m ago•0 comments

How to make your agent do its own support

https://mmoustafa.com/blog/2026/09/05/how-to-make-your-agent-do-its-own-support/
1•mmoustafa•2m ago•0 comments

Asahi Linux Supports M3

https://asahilinux.org/2026/09/m2-episode-1/
2•LorenDB•7m ago•1 comments

I hate Wispr Flow so much

https://www.nytimes.com/2026/08/19/magazine/ai-dictation-app-wispr.html
1•paaloeye•8m ago•1 comments

GPT-6 Astra recreated the Palace of Fine arts in Blender

https://twitter.com/sharifshameem/status/2095688352075075878
1•handfuloflight•14m ago•0 comments

When Code Is Abundant

https://about.gitlab.com/blog/when-code-is-abundant/
1•gmays•19m ago•0 comments

Manifolds, differential forms, and multivariable calculus

https://hidden-phenomena.com/articles/diff-forms
1•measurablefunc•22m ago•0 comments

Limitations of Perceptual Image Metrics

https://halide.cx/blog/metric-limits/
2•computerbuster•26m ago•0 comments

Show HN: Cowbull – Wordle-like game where you only get match counts

https://cowbull.co/
1•ajayvk•31m ago•0 comments

Sentrux: Codebase Architectural Sensor

https://sentrux.dev/
2•handfuloflight•34m ago•0 comments

Show HN: CocoCut – A zero-cloud, 1-second video diary engine built with Flutter

https://cococut.app/en
1•xcc3641•39m ago•1 comments

V1.0.0 – the complete fourteen-channel atlas

https://letenergyflow.app/
2•MuzikPro•42m ago•0 comments

The Netherlands Will Never Be Rid of Louisiana Crawfish

https://www.theatlantic.com/science/2026/09/american-crayfish-netherlands-eating/688430/
2•bookofjoe•45m ago•1 comments

Not Everything Digital Is Good: Tech Isn't Always an Example of Genius

https://thewalrus.ca/not-everything-digital-is-good-tech-isnt-always-an-example-of-genius/
3•pseudolus•47m ago•0 comments

Flux Releases Adafruit from CFAA Claims

https://www.courtlistener.com/docket/73450247/adafruit-industries-llc-v-defy-gravity-inc/
1•snitty•48m ago•1 comments

GitHub Status – Disruption with Copilot Code Review

https://www.githubstatus.com/incidents/zw1hbx2yyhvr
2•kyisaiah47•52m ago•0 comments

Show HN: What would Tetris be like with rings? Blocknado is a modern twist.

https://blocknado.app/marathon
2•jamwise•52m ago•1 comments

Solvedfeed – agents share the errors they hit, and the fixes

https://solvedfeed.com/
1•solvedfeed_agen•1h ago•1 comments

Cloud in a Bottle: making self-hosting accessible to everyone

https://cloudinabottle.org/blog/launch-post
61•zplizzi•1h ago•21 comments

Show HN: OpenMonitor – vendor neutral web monitoring cloud agent

https://www.openmonitor.website/
2•iacguy•1h ago•0 comments

DHH: Programming, AI, Vibe Coding and Linux (Lex Fridman Podcast)

https://lexfridman.com/dhh-2-transcript/
5•nsoonhui•1h ago•0 comments

Tracking the Farm Economy in Crisis

https://www.farmaid.org/issues/challenges-family-farmers-face/tracking-the-farm-economy-in-crisis/
2•cocacola1•1h ago•0 comments

New Twitter rebrands to Tweet.app after court's double-edged ruling

https://www.engadget.com/2251699/new-twitter-rebrands-to-tweet-app-after-court-double-edged-ruling/
3•NordStreamYacht•1h ago•0 comments

States reach agreement at autonomous weapons talks in Geneva

https://www.reuters.com/world/states-reach-agreement-autonomous-weapons-talks-geneva-2026-09-05/
3•reasonableklout•1h ago•0 comments

Why the Hugging Face Hack Should Make You Worry More About A.I

https://www.nytimes.com/2026/09/03/technology/openai-hugging-face-hacking.html
2•reasonableklout•1h ago•2 comments

Show HN: Midjourney API with webhooks, polling

https://www.midjourney-api.com
2•lys623•1h ago•0 comments

Ontoplano, FOSS life management app with a mobile app, MCP server and more

https://github.com/ontoplano/ontoplano
2•chedieck•1h ago•3 comments

Show HN: Undercolony - The Ant Colony MMO - You Are an Ant Now

https://undercolony.com/
1•nadermx•1h ago•0 comments

Interstellar 8-Track: The Not-So-Low-Tech Data Recorders of Voyager

https://hackaday.com/2018/11/29/interstellar-8-track-the-low-tech-data-recorders-of-voyager/
4•ColinWright•1h ago•0 comments

Chrome again exempts Google from user site data settings

https://lapcatsoftware.com/articles/2026/9/1.html
6•ExMachina73•1h ago•0 comments