frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Applets Are Officially Gone, but Java in the Browser Is Better

https://frequal.com/java/AppletsGoneButJavaInTheBrowserBetterThanEver.html
36•pjmlp•1h ago

Comments

kstrauser•54m ago
> In the 2000's, politics interfered and browser vendors removed plug-in support, instead preferring their own walled gardens and restricted sandboxes

That's one way to say it. The more common way was that users got tired of crappy plugins crashing their browsers, and browser devs got tired of endless complaints from their users.

It wasn't "politics" of any sort that made browsers sandbox everything. It was the insane number of crashes, out-of-memories, pegged CPUs, and security vulnerabilities that pushed things over the edge. You can only sit through so many dozens of Adobe 0-days before it starts to grate.

exDM69•47m ago
Exactly.

Java was so buggy and had so many security issues about 20 years ago that my local authorities gave a security advisory to not install it at all in end user/home computers. That finally forced the hand of some banks to stop using it for online banking apps.

Flash also had a long run of security issues.

cube00•17m ago
> banks to stop using it for online banking apps

I never understood why so many banks flocked to building their online banking in applets when it wasn't like you needed anything more advanced than HTML to view balances and make transactions.

wiseowise•1m ago
Because they’ve hired a bunch of Java devs that don’t know anything outside of Java?
Gravityloss•17m ago
In the 2000s, my bank was acquired by some bigger bank from another country. Their long standing, well working and fast banking application was replaced with a very dysfunctional Java applet thing. I was using Linux at the time and IIRC it either worked barely, or then not at all. I phoned the bank, and they told about a secret alternate 'mobile' url, that had a proper working service. I used that for a while before ultimately switching to another bank. The bank sent apology letters to customers and waived some fees also as they saw many of them leave. It made me really wake up that to the fact if the company can do these visible level blunders, what else is going on there, and also, how the customer is in such a vulnerable position.

On the other hand, NASA in the past had some really great Java applets to play with some technical concept and get updated diagrams, animations and graphs etc.

locallost•47m ago
Yeah, a totally mind boggling statement, almost completely void of reality. I wasn't even tired of the crashes, it was just a totally awful experience of using them in every way. They took forever to load, were clunky to use and even just downright ugly because the UI had nothing to do with what you usually got to use, and was a lot worse. The idea was good on paper, but the implementation sucked.

Everyone, well almost everyone apparently, was relieved we didn't have to deal with any of that anymore.

razakel•34m ago
Even Flash wasn't as bad as Java applets, and that's saying something.
maxloh•31m ago
The "walled gardens" he referred to are in fact based on open standards and open source, but the Applet runtime is not.

Not all of Java is open source. The TCK, the testing suite for standard compliance, for instance, is proprietary, and only organizations with Oracle's blessing can gain access. AdoptOpenJDK was only granted access after they stopped distributing another Java runtime, OpenJ9.

anthk•26m ago
ActiveX was hell for security.
jeroenhd•20m ago
ActiveX was its own special kind of terrible for many reasons, but so were Java, Flash, and Silverlight. At least ActiveX didn't hide the fact you were about to grant arbitrary code execution to a website, because you might as well have assumed that the second these plugins were loaded.

The only advantage to Java applets I can think of is that they had the advantage of freezing the browser so it could no longer be hacked.

The Java applet system was designed better than ActiveX but in practice I've always found it to be so much worse of an end user experience. This probably had to do with the fact most ActiveX components were rather small integrations rather than (badly fitted) full-page UIs.

Aardwolf•15m ago
Flash is still a big loss imho, the ecosystem of games, movies and demonstration thingies was amazing and they were accessible to create by many. Unlike Java applets that slowed the main browser UI thread to a crawl if they didn't load they usually didn't), Flash didn't have such slowdowns.

One exception is early 2000s Runescape: that was Java in browser but always loaded, no gray screen and hanging browser. They knew what they were doing.

exDM69•17m ago
Correct me if I'm wrong but during this timeframe (circa 2005), Java was not open source at all. OpenJDK was announced in 2005 and first release was 2008, by which time the days Java in the browser were more or less over.
petesergeant•17m ago
I would attribute this much more to Mobile Safari saying "no", which killed off plugins, especially Flash. Java Applets were essentially slow Flash from a user's perspective.
jeroenhd•7m ago
I don't think Safari mattered much. Java was still used for things that wouldn't work on phones without massive redesigns anyway.

I doubt you'd have been able to bootstrap Runescape in any form, even rewritten in native code, on the first iPhone to support apps. Applets worked fine on desktops and tablets which was what they were designed for.

Browser vendors killed the API because when they looked at crashes, freezes, and performance opportunities, the Flash/Java/etc. API kept standing out. Multithreaded rendering became practical only after the old extension model was refactorerd and even then browsers were held down by the terrible plugin implementations they needed to work around.

jauntywundrkind•14m ago
Applets also had no view-source.

Spiritually the web ought to be more than an application development platform. We haven't been doing great about that (with heavily compiled js bundles), but there's still a lot of extensions that many users take for granted. I'm using a continual wordcount extension (50 words so far), and Dark Reader right now.

Applet's are the native app paradigm, where what the app-makers writes is what you get, never a drop more. It's not great. The internet, the land of protocols, deserved better. Is so interesting because it is better.

wiseowise•12s ago
Don’t worry, they’re trying to sneak back in with WASM and drawing everything to canvas.
epistasis•50m ago
The only thing worse than launching the JVM from the command line, with it's looooooooooooong and inexplicable load time, was hitting a web page and having it lock the browser for that amount of load time.

I remember a few decades ago somebody saying the JVM was incredible technology, and as a user and programmer I still have zero clue what the hell they could have been thinking was good about the JVM.

I hear that now, decades into Java, they have figured out how to launch a program without slowing a computer down for 10+ seconds, but I'll be damned if I find out. There are still so many rough edges that they never even bothered to try to fix about launching a .jar with classpath dependencies. What a mess!

netsharc•45m ago
I guess in the era of SSDs (vs. spinning disks) and multi-GHz cores, the startup really isn't a big issue anymore?

I wonder how long Teams or Slack would take to launch when it's on a 5400rpm disk on a 2000 era computer...

nrhrjrjrjtntbt•23m ago
I remember my 2000 computer could play an mp3. But thats it. Your system is 100% utilized. No way it could even think about a modern gas guzzling app.
kakacik•41m ago
What the heck are you writing about, you clearly have no clue about last 2+ decades of Java or topic in general but felt the urgent need to emotionally vent off because... ?
anthk•22m ago
We were there. It still was atrociously slow compared to most TCL/Tk stuff I've used. TCL and Tk improved a little on speed and it almost looks native on tons of software, meanwhile with Java if you have to run some biggie software on legacy machines you are doomed by watching the widgets redraw themselves in some cases.

And, on its Android cousin... pick any S60 based Symbian phone (or anything else)... and try telling us the same. The lag, the latency, the bullshit of Java we are suffering because, you know, for phone developers, switch from J2ME to another Java stack was pretty much an easy task, but hell for the user. Even Inferno would have been better if it were free and it had a mobile ecosystem developed for it.

another_twist•39m ago
I understand the sarcasm but this take is devoid of fact. Modern Java loads fast, Java 21 has pretty good functional programming featurez. The ecosystem churns out language level features at a pace and a budget that would put most large funded startups to shame.

Java is also the workhorse of the big data ecosystem and moves enough money either as product revenue or as transactions than most nations GDP. They didn't figure out startup times for 10+ years, they were busy dealing with Oracle and its messy management. I think it will simply continue to get better given that Java has endured through so many language fads. It has its ways to go but it will end up like SQL - here before we were alive and will be here when most of us are dead.

epistasis•28m ago
There's zero sarcasm in my comment.

The JVM is quite different from Java language features or Scala language features. I've written entire programs in JVM bytecode, without a compiler, and I see very little of value in it. A stack based machine? Why? Not a huge blocker, it's weird, but usable. The poor engineering around the JVM for many use cases? That's a blocker for me, and where are the alternatives in implementation that don't have the atrocious launch performance and interface for specifying class path and jars?

Java may be used a lot, but so is Windows. It's an accident of history, of early adoption and network effects, rather than being inherently good technology. Java, the language, made a very wide and broad swath of programmers productive, just as Windows lets a very wide and broad set of IT people run IT systems, without having to learn as much or know as much as they would need to with, say, Linux. But Java's low-barrier-to-entry is quite distinct from the weaknesses of the JVM...

eru•8m ago
> Java may be used a lot, but so is Windows. It's an accident of history, of early adoption and network effects, rather than being inherently good technology.

Going on a tangent: Windows is an interesting example to bring up, because the Windows versions everyone uses today have about as much to do with the 'accident of history / early adoption' versions that were based on DOS as using Wine on Linux has.

It would perhaps be like today's JVM being register based, when the first version were stack based.

I don't actually know how much the JVM has changed over time.

eru•11m ago
Mostly agreed that Java, warts and all, has gotten better, and will stick around. It's the new COBOL, for better or worse. (I still wouldn't want to use it voluntarily, but if someone pays me enough money, sure.)

However:

> Java is also the workhorse of the big data ecosystem and moves enough money either as product revenue or as transactions than most nations GDP.

The global financial system moves so much money around that comparisons to GDP are a bit silly. Financial transactions dwarf GDP by so much that even a bit player of a technology will facilitate more transactions than global GDP.

(And that's fine. Many of these transactions are offsetting, and that it's a sign of an efficient market that the mispricings are so small that participants needs giant gross flows to profit from them.

Somewhat related: a single high capacity fire hose (at about 75kg of water per second) moves about the same number of electrons as you'd need to power the total US electricity consumption at 120V. Obviously, your fire hose also sprays plenty of pesky protons which completely offset the electrical current from the electrons.)

anthk•24m ago
Java wasn't that bad for crappy 2D adventure games, but for the rest it was atrocious. Even TCL/Tk looked faster with AMSN than trying to use Java based software which was like trying to run Gnome 4 under 1GB of RAM.
bhaak•11m ago
The JVM proved to the mainstream that a virtual machine good be as fast (sometimes even faster) than a compiled binary. Because of that it took a lot of the market share of C/C++ in the 90s.

You got a buffer overflow safe language without compromise of speed. After it has been loaded, of course. But that's why Java had such a tremendous effect in Web services where the load times are negligible to the run time.

eru•7m ago
Of course, eliminating buffer overflows is orthogonal to using a virtual machine.
matsemann•2m ago
So your lack of technical knowledge or curiosity means Java wasn't incredible? That's certainly... a take. I'm almost curious: why did you end up holding strong beliefs like these, instead of actually investigating? As a curious person, when I hear something I don't know I like to learn - not just dismiss it. FYI, your .jar complaint is almost a decade out of date.
jakozaur•50m ago
Not sure if I get this: WASM lets you use any language in the browser, though it still works way better with languages without GC, such as Rust or a transpiling C engine. Java is unlikely to be the best choice.

In the era of LLM assistants like Claude Code, any engineer can write frontend code using popular stacks like React and TypeScript. This use case is when those tools shine.

another_twist•35m ago
Java running in the browser is unlikely as typescript has largely tamed the mess of Javascript. Java requires a JVM and shipping an entire JVM so its runs atop another VM is kinda redundant. Except if JVM itself gets compiled and cached as a WASM bundle and Java compilers start accept WASM-JVM as a target. That will just be distraction tbh, Java has its strength in large scale systems and it should just focus on those rather than get caught up in Frontend's messy world.
jeroenhd•11m ago
The article literally links to a frontend that does just that, run the JVM on top of WASM. It performs fine: https://teavm.org/gallery.html

I'm not sure if I'd use it for a website or anything, but if my goal was to embed a simulation or complex widget, I wouldn't ignore it as an option.

bloppe•3m ago
It doesn't run the JVM. It's an ahead-of-time compiler that converts Java bytecode to wasm.
eru•5m ago
> That will just be distraction tbh, Java has its strength in large scale systems and it should just focus on those rather than get caught up in Frontend's messy world.

Multiple people can work on different things in the Java ecosystem.

Compiling Rust to WASM doesn't really distract anyone from compiling Rust to x86 or ARM, either.

another_twist•34m ago
Good riddance: I guess Java is on a purge right now. First public static void main, now this unused mess. Its good for the ecosystem.
zkmon•32m ago
I started with Applets in 1996, moving from Borland/Turbo C to Java. The Applet UI was never as smooth and rich as the OS-native stuff such as Windows GUI apps. But it was a great developement that brought applications to the web. IE+DHTML with a massive DOM API and VBScript+ASP took over soon, from 1997, to produce HTML-native interactive experience. People wrote ActiveX code to handle button clicks.

Servlets on the server-side survived a bit longer than applets, by evolving into JSP.

grizzles•27m ago
Compose multiplatform is the spiritual successor to JVM in the browser. Compiles to wasm, modern api, great developer experience. It's kotlin so not java, but easy for java developers to learn.
ahmeni•23m ago
This is an interesting project and it's always neat to see things that are able to compile down to WASM for running in the browser. However, looking through the docs for Flavour and this feels like it would get very painful very quickly trying to write anything of substance.
ptx•22m ago
> post your applet on a web page, and anyone on the planet could run it instantly

"Instant" is a strange choice of words to describe JVM startup performance. I recall the UX of encountering an applet involving watching a Java splash screen while the browser is frozen.

jeroenhd•15m ago
The alternatives to Java were just as bad. Flash and friends were fast but couldn't do anything more complicated than animation for most of its life. In the Java heydays, you were doing either Java or custom ActiveX plugins, and both led to security popups galore and random browser freezes.

However, ActiveX usually required you to install components, while Java could just run first time.

skerit•20m ago
I've been using TeaVM for a while now, and it's pretty great.
kaluga•14m ago
What’s funny about the “death of applets” is that it highlights a pattern we keep seeing: the browser killed plugins… and then reinvented everything they enabled, but properly this time.

TeaVM and similar toolchains show that the original idea behind applets wasn’t wrong — the implementation model was. Moving Java to JS/WASM with tree-shaking, minification, and real browser APIs gives you all the benefits without the security nightmare.

The interesting takeaway isn’t nostalgia for applets, but how mature the web stack has become: the browser is finally the runtime applets always wanted.

panny•7m ago
>shrink the generated code and obfuscate the intent, to complicate reverse-engineering

Says that like it's a good thing.

geokon•6m ago
Wouldn't it make more sense to run/emulate JVM bytecode on WASM instead of compiling Java to WASM? It seems like that'd be a much easier task.

From a high level WASM and JVM byte code seems incredibly similar (though I'm sure the containerizing and IO are radically different). I never really understood why WASM wasn't some JVM subset/extension.

Not an expert at all in this, so genuinely curious to hear from someone who understands this space well

DarkNova6•2m ago
From my understanding, this works for C# but is an ill-fit for Java. Java has simple bytecode with a powerful runtime to ensure all kinds of guarantees. C# focuses on compile-time checks with a more complex bytecode representation.

So instead you got TeaVM which is essentially a whole JVM in WASM.

The Kenyan Workers Training China's AI Models

https://restofworld.org/2025/kenya-china-ai-workers/
1•untwerp•1m ago•0 comments

How would your feed look if you got to control what you saw on social media?

https://www.abc.net.au/news/2025-12-08/chanel-contos-teach-us-consent-fix-our-feed/106107546
1•robin_reala•6m ago•0 comments

The overlooked engineering behind high-efficiency LEDs

1•emmasuntech•10m ago•0 comments

Show HN: Bat‑KV – A tiny single‑file KV database for Windows Batch scripts

https://github.com/Water-Run/Bat-KV
1•WaterRun•10m ago•0 comments

ZTE's Nubia M153 Running ByteDance's Doubao AI Agent

https://twitter.com/TaylorOgan/status/1996538308697137277
2•xnhbx•13m ago•0 comments

Netflix won Hollywood's biggest prize

https://techcentral.co.za/how-netflix-won-hollywoods-biggest-prize/275319/
1•amalinovic•13m ago•0 comments

Why AI coding agents arent production-ready

https://venturebeat.com/ai/why-ai-coding-agents-arent-production-ready-brittle-context-windows-br...
1•_____k•15m ago•0 comments

Migrating Burningboard.net Mastodon Instance to a Multi-Jail FreeBSD Setup

https://blog.hofstede.it/migrating-burningboardnet-mastodon-instance-to-a-multi-jail-freebsd-setu...
1•todsacerdoti•16m ago•0 comments

Vector DB Comparison

https://agentset.ai/blog/best-vector-db-for-rag
1•tifa2up•17m ago•0 comments

Why I hate the myth of the suffering artist (2012)

https://www.theguardian.com/books/booksblog/2012/apr/02/myth-of-the-suffering-artist
1•robtherobber•22m ago•0 comments

Show HN: PolyBets – Prediction Market for Auctions (Bet on Auction Results)

https://polybets.fun/
5•h100ker•24m ago•2 comments

The f*** off contact page

https://www.nicchan.me/blog/the-f-off-contact-page/
6•OuterVale•25m ago•0 comments

Use Python for Scripting

https://hypirion.com/musings/use-python-for-scripting
1•birdculture•30m ago•1 comments

Show HN: I built MonumentValley3Wiki.com – a fan wiki for Monument Valley 3

https://monumentvalley3wiki.com/
1•WanderZil•30m ago•0 comments

Brighton ban Guardian from stadium over reporting on Tony Bloom

https://www.theguardian.com/football/2025/dec/07/brighton-bans-guardian-from-stadium-over-reporti...
2•Daviey•34m ago•0 comments

Show HN: CloakProbe – A privacy-first IP and client debug service

https://cloakprobe.dev
1•drmckay•35m ago•0 comments

In the Beginning Was the Command Line

https://web.stanford.edu/class/cs81n/command.txt
1•wseqyrku•38m ago•0 comments

Portugal updates cybercrime law to exempt security researchers

https://www.bleepingcomputer.com/news/security/portugal-updates-cybercrime-law-to-exempt-security...
4•N19PEDL2•40m ago•0 comments

Optimizing Iceberg Compaction: Why We Built an Embedded Engine in Rust

https://risingwave.com/blog/implementing-iceberg-compaction-rust/
2•WavyPeng•41m ago•0 comments

Geoffrey Hinton says Google is 'beginning to overtake' OpenAI

https://www.businessinsider.com/ai-godfather-geoffrey-hinton-google-overtaking-openai-2025-12
2•djhu9•42m ago•0 comments

Zuck#: A programming language for connecting the world. And harvesting it

https://jayzalowitz.github.io/zucksharp/
2•kf•44m ago•0 comments

Show HN: Dograh – an OSS Vapi alternative to quickly build and test voice agents

https://github.com/dograh-hq/dograh
3•a6kme•46m ago•2 comments

Curated SRE/DevOps/Cloud Job Board

https://sshcareers.com/
1•sajokrit•50m ago•0 comments

You Gotta Push If You Wanna Pull

https://www.morling.dev/blog/you-gotta-push-if-you-wanna-pull/
1•ingve•52m ago•0 comments

Knuth 2025 Christmas lecture: Adventures with Knight's Tours [video]

https://www.youtube.com/watch?v=MKiRte-tnMY
2•fs123•56m ago•0 comments

Ask HN: Smart Glasses with a Decent Camera?

1•brcmthrowaway•56m ago•0 comments

Show HN: Detect employee skill gaps and develop training plans

https://semis.reispar.com
1•Mcjulie•1h ago•0 comments

Adding Unpack Syntax to RCL

https://ruudvanasseldonk.com/2025/adding-unpack-to-rcl
3•todsacerdoti•1h ago•0 comments

Applets Are Officially Gone, but Java in the Browser Is Better

https://frequal.com/java/AppletsGoneButJavaInTheBrowserBetterThanEver.html
36•pjmlp•1h ago•45 comments

Can an English Fish Merchant Turn a Profit in Asia's Largest Market? [video]

https://www.youtube.com/watch?v=PqAf1qRcixc
1•tosh•1h ago•0 comments