From Birth to Obsolescence: The 30‑Year Journey of Java Applets

This article chronicles the rise and fall of Java Applets from their 1995 debut, through their golden era and technical limitations, to their eventual removal from browsers and the JDK, and shows how WebAssembly inherits the original vision of high‑performance compiled code in the browser.

Radish, Keep Going!
Radish, Keep Going!
Radish, Keep Going!
From Birth to Obsolescence: The 30‑Year Journey of Java Applets

Birth of the Applet (1995)

In 1995 James Gosling demonstrated a 3D, interactive Java Applet in a browser, sparking massive excitement because browsers at the time could only display static HTML pages.

What an Applet Is

An Applet (Application + let) is a small Java program embedded in a web page. The browser encounters an <applet> tag, loads the referenced .class file via the Java plugin, and runs it in a sandbox.

<applet code="Hello.class" width="460" height="160"></applet>

This combination offered zero‑install deployment with desktop‑level interactivity, a compelling alternative to the client‑heavy C/S model and the static B/S model.

Golden Age (≈2000‑2004)

Financial firms used Applets for real‑time charts and quotes.

Online games (Java chess, puzzles) ran inside browsers.

Enterprise internal tools replaced heavyweight desktop clients with complex forms and data‑driven interfaces.

Technical Cracks

Performance : Early PCs had limited RAM and Java lacked JIT, making Applets sluggish.

Network speed : 56 K dial‑up meant multi‑minute download times for anything beyond trivial.

Version hell : Mismatched JRE versions caused frequent compatibility failures.

Individually tolerable, but together they created a disastrous user experience.

2005: AJAX Disruption

No plugin required.

No JRE installation.

Standardized by W3C, low entry barrier for front‑end developers.

Applet was a vendor‑controlled solution; AJAX became an open, community‑driven evolution.

As AJAX, jQuery, CSS3, and HTML5 matured, the unique advantages of Applets were gradually eroded.

Gradual Death

Chrome removed NPAPI support in September 2015, Firefox followed in 2017, and the Java platform began deprecating the Applet API (JDK 9). In JDK 24 (2024) the Security Manager—core to the Applet sandbox—was disabled, and JDK 26 (2026) finally removed the java.applet package, javax.swing.JApplet, and related classes.

OpenJDK states that modern browsers and recent JDKs no longer support Applets; JDK 26 merely deletes an already obsolete branch.

WebAssembly: The Dream Lives On

The original vision—running compiled, high‑performance code in the browser—re‑emerged as WebAssembly in 2017. Unlike Applets, WebAssembly requires no plugins, works with many languages (C/C++/Rust/Go), and is an open W3C standard.

Key Differences (Applet vs. WebAssembly)

Execution: Both use bytecode, but Applets need an NPAPI plugin; WebAssembly runs natively in the browser.

Language support: Applet = Java only; WebAssembly = C/C++/Rust/Go, etc.

Security: Applet relied on Java’s Security Manager; WebAssembly uses the browser’s sandbox.

Installation: Applet required a JRE plugin; WebAssembly needs nothing.

Standard governance: Applet was Sun/Oracle‑controlled; WebAssembly is an open W3C standard.

Conclusion

Removing Applets from the JDK does not signal Java’s failure; it shows Java winning the long‑term battle by focusing on server‑side, cloud‑native, and tooling ecosystems. The original dream of high‑performance compiled code in the browser survives today as WebAssembly.

References

JEP 504: Remove the Applet API – https://openjdk.org/jeps/504

Oracle Releases Java 26 – https://www.oracle.com/lt/news/announcement/oracle-releases-java-26-2026-03-17/

NPAPI deprecation: developer guide – https://www.chromium.org/developers/npapi-deprecation/

NPAPI Plugins in Firefox – https://blog.mozilla.org/futurereleases/2015/10/08/npapi-plugins-in-firefox/

Java applet – Wikipedia – https://en.wikipedia.org/wiki/Java_applet

WebAssembly Official Site – https://webassembly.org/

Javafrontend developmentWebAssemblyhistoryBrowserApplet
Radish, Keep Going!
Written by

Radish, Keep Going!

Personal sharing

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.