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.

Unintentional Type Theory

https://ncatlab.org/nlab/show/unintentional+type+theory
1•danny00•2s ago•0 comments

Cyril Hilsum dies at 101.He invented flat-screen displays that hold us in thrall

https://www.economist.com/obituary/2026/10/08/cyril-hilsum-invented-the-flat-screen-displays-that...
1•bookofjoe•1m ago•1 comments

The Rulers of the World Have Ticker Symbols

https://thesovereigncapitalist.io/state-capitalism-index/
1•StuntPope•2m ago•0 comments

Hoard – A game save sync and backup where 10 save of a 2 GB size cost 2 GB

https://hoard.services/
1•insaideh•3m ago•1 comments

Show HN: A fullscreen Game of Life in which every board is a runnable program

https://bobbby.online/piet/tiles
1•rhgraysonii•4m ago•0 comments

ZUMA Press

https://www.zumapress.com/aboutzuma/overview.html
1•skibz•5m ago•0 comments

Show HN: Sibuna an open source web application firewall with proof of work

https://github.com/insanai/sibuna
1•vikrantrathore•9m ago•0 comments

The engineering habits that gave Dirac an edge as a physicist

https://www.engineerhistory.com/p/the-engineering-habits-that-gave
1•tylerdane•15m ago•1 comments

Lobbying Is Corruption

https://discuss.google.dev/t/trusted-automation-with-google-antigravity-scaling-secure-finance-in...
1•thetechnogman•16m ago•2 comments

Replacing pyinstaller with 100 lines of code

https://tush.ar/post/packaged/
1•ankitg12•16m ago•0 comments

Being mean to Claude could get you banned as Anthropic introduces new rules

https://www.techspot.com/news/114153-mean-ai-could-get-you-banned-anthropic-introduces.html
1•akyuu•16m ago•0 comments

Orangutan mothers seek out playmates for young

https://www.mpg.de/27017124/orangutan-mothers-seek-out-playmates-for-young
3•gmays•18m ago•0 comments

2025-10-10 front – Hacker News

https://news.ycombinator.com/front?day=2025-10-10
1•ankitg12•18m ago•0 comments

No One Lives Forever decompiled source code

https://github.com/nolffan/nolfsrc
2•nolffan•18m ago•2 comments

Python 3.15

https://astral.sh/blog/python-3.15
1•NavinF•19m ago•0 comments

Why Drug Trafficking Is Now Almost a Human Right in Canada

https://www.city-journal.org/article/canada-drug-trafficking-ruling
1•donsupreme•20m ago•0 comments

Why Alberta farmers are suddenly demanding tractors they can fix themselves

https://www.begiant.ca/stories/ideas/ursa-ag-right-to-repair-tractors
1•rdmuser•20m ago•0 comments

Claude Code and Codex break on different MCP features

https://m3.sineframe.com/blog/claude-code-vs-codex-mcp
1•stag•21m ago•0 comments

5-MeO-DMT sometimes cancels the Ebbinghaus illusion

https://psychotechnology.substack.com/p/5-meo-dmt-sometimes-cancels-the-ebbinghaus
2•eatitraw•22m ago•0 comments

Westermarck Effect

https://en.wikipedia.org/wiki/Westermarck_effect
3•chistev•23m ago•0 comments

Enrico Fermi's 125th birthday: Bring Fermi Poker to your school or university

https://fermi.org/
1•danielfetz•23m ago•1 comments

PVX-001: open-source Covid-19 vaccine starts Phase 1 trial

https://chronicles.popvax.com/p/popvax-goes-clinical
3•jajoosam•26m ago•0 comments

Synthetic corporate dataset – 1M and 10M emails and calendar events

https://huggingface.co/sinabis-group
1•sinabis_1•26m ago•1 comments

Voice Dictation for Linux that learns as you speak

https://voiceio.dev/
2•montenegrohugo•27m ago•2 comments

Dialer applications can be exploited to achieve 1-click MMI execution in Android

https://karansaini.com/mmi-android/
1•dverlaeckt80•28m ago•0 comments

MailCheap: Self-hosted newsletters on Amazon SES. About $0.10 per 1k emails

https://github.com/marclou/mailcheap
1•tosh•30m ago•0 comments

Tom Brown used GOP ties to broker a $1.25B/month SpaceX compute deal

https://wsj.com/tech/ai/tom-brown-athropic-669005ad
2•utiiiD•32m ago•0 comments

The Missing Piece in Rust Error Handling

https://mcmah309.github.io/posts/the-missing-piece-in-rust-error-handling/
1•lukastyrychtr•33m ago•0 comments

Enzo's – AI home search that shows cap rate and flags overpriced homes

https://enzos.ai/
1•nicomontuschi•33m ago•0 comments

Is Anthropic a Good Business?

https://www.polymathinvestor.com/p/is-anthropic-a-good-business
1•rwmj•35m ago•0 comments