frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

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•7mo ago

Comments

palata•7mo 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•7mo 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•7mo 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•7mo ago
And here's an entire Java IDE with CheerpJ that downloads less than 15mb:

https://reportmill.com/SnapCode

palata•7mo 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•7mo 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•7mo 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•7mo 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•7mo 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•7mo 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•7mo 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.

Encountering Japanese Ellipses in English Translations

https://legendsoflocalization.com/articles/japanese-ellipsis-usage/
1•tosh•41s ago•0 comments

Monotype accused of overcharging Japanese devs for Japanese language fonts

https://www.gamedeveloper.com/business/american-company-is-overcharging-japanese-devs-for-japanes...
1•AJ007•2m ago•0 comments

Show HN: I built a simple trust portal because the existing ones were too much

https://www.simpletrustportal.com
1•cadence-•3m ago•0 comments

Show HN: The Almanac – Generate Wikipedia-style biographies of anyone

https://www.thealmanac.ai/
2•reveriedev•3m ago•0 comments

Prove It All Night: With no fame or fortune, what keeps a band onstage? (1999)

https://chicagoreader.com/news/prove-it-all-night/
1•NaOH•4m ago•0 comments

What Is a Bomb Cyclone? Why This Winter Storm Doesn't Qualify

https://www.scientificamerican.com/article/what-is-a-bomb-cyclone-why-this-winter-storm-doesnt-qu...
1•quapster•5m ago•0 comments

MillenniumPrizeProblemBench Stress-testing AI on the hardest math we know

https://mppbench.com/
1•kelseyfrog•5m ago•0 comments

Show HN: Docmd v0.3 – Static documentation generator (built-in search, no React)

https://github.com/mgks/docmd
2•enigmazi•6m ago•0 comments

EmacsConf 2025

https://emacsconf.org/2025/
1•birdculture•8m ago•0 comments

Postgres 18: Skip Scan – Breaking Free from the Left-Most Index Limitation

https://www.pgedge.com/blog/postgres-18-skip-scan-breaking-free-from-the-left-most-index-limitation
1•pgedge_postgres•9m ago•0 comments

Snapit: Snapshot Testing for C

https://mattjhall.co.uk/posts/snapit-snapshot-testing-for-c.html
2•mattjhall•9m ago•0 comments

Show HN: Give your customers pricing clarity, especially the enterprise ones

1•phil611•10m ago•0 comments

Annotator.js: library to easily add annotation functionality to any webpage

http://annotatorjs.org
1•klaussilveira•12m ago•0 comments

UK ministers aim to ban cryptocurrency political donations over anonymity risks

https://www.theguardian.com/politics/2025/dec/02/cryptocurrency-political-donations-uk-ban-electi...
3•chrisjj•14m ago•0 comments

Show HN: Davia – A Visual Wiki, Generated by Your Coding Agent (Open-Source)

https://www.npmjs.com/package/davia
3•ruben-davia•15m ago•0 comments

Teaching AI to Spot Fake Xkcd Comics with DSPy and GEPA (Part 1)

https://danprice.ai/blog/xkcd-dspy-gepa
1•halfprice06•15m ago•0 comments

Higher Education and AI: Some Musings

https://bastian.rieck.me/blog/2025/education/
2•speckx•17m ago•0 comments

US Apartment rents drop further, with vacancies at record high

https://www.cnbc.com/2025/12/02/apartment-rents-vacancies-november.html
1•toomuchtodo•18m ago•0 comments

AlphaFold – Interview with dr John Jumper by "two minute papers" [video]

https://www.youtube.com/watch?v=Vhcwjzeukts
1•perakojotgenije•19m ago•0 comments

MCP Breach-to-Fix Labs – 9 Dockerized Agent Exploits (RCE, Injection)

https://github.com/PawelKozy/mcp-breach-to-fix-labs
1•PawelKozy•20m ago•1 comments

Ask HN: What Are You Building?

1•leonagano•22m ago•0 comments

WHO issues global guideline on the use of GLP-1 medicines in treating obesity

https://www.who.int/news/item/01-12-2025-who-issues-global-guideline-on-the-use-of-glp-1-medicine...
2•Qem•24m ago•0 comments

Ecosia: The greenest AI is here

https://blog.ecosia.org/ecosia-ai/
5•doener•25m ago•1 comments

Build multi-step applications and AI workflows with AWS Lambda durable functions

https://aws.amazon.com/blogs/aws/build-multi-step-applications-and-ai-workflows-with-aws-lambda-d...
2•gmays•26m ago•0 comments

Supreme Court: Can ISPs Be Liable for Piracy by Doing Nothing?

https://torrentfreak.com/supreme-court-can-isps-be-liable-for-piracy-by-doing-nothing/
4•iamnothere•26m ago•0 comments

You Can't Make Something Accessible to Everyone

https://adrianroselli.com/2025/12/you-cant-make-something-accessible-to-everyone.html
2•speckx•30m ago•0 comments

Steam on Linux Use Easily Hits an All-Time High in November

https://www.phoronix.com/news/Steam-Linux-November-2025
5•TMWNN•31m ago•0 comments

We're Committing $6.25B to Give 25M Children a Financial Head Start

https://www.onedell.com/investamerica/
22•duck•31m ago•8 comments

Show HN: Visualization of Chopin 2025 competition ratings

https://marcindulak.github.io/competition-rating-visualization/
1•marcindulak•32m ago•0 comments

For Europe's Leaders, It's Prosper or Perish

https://www.bloomberg.com/opinion/articles/2025-12-02/european-economy-growth-is-imperative-to-fe...
1•TMWNN•32m ago•0 comments