I could write a book on the missteps that killed applets. The idea of applets was great and very forward-thinking - self-contained pieces of functionality to provide UI that HTML couldn't. Web Components are a similar idea 20 years later.<p>And Java was a good bedrock to build applets on - a safe language that runs everywhere in a VM.<p>But the implementation was terrible - let me count the ways:<p>* Performance was awful. Java applets performed OK (and sometimes excellently if you put the work in) once they got started but the initial start-up cost of standing the VM was just woeful. Your browser would freeze for 10-20 seconds while MBs of JVM were slowly loaded and JIT'ed. People started to avoid sites with applets for this reason. Sun never even tried to fix it, and in fact told people it was for their own good because your CPU might have changed since last time the Applet was loaded.<p>* The GUIs were ugly. People back then complained endlessly about the Applets looking non-standard, which was true. Big a far bigger problem was that they were just hideous. Poor default fonts (and bad font rendering), bad default colors, bad fit-and-finish. Sure you could spend time making everything look nice, but it was a huge effort. Sun did try to fix this but with limited success.<p>* Security. The original idea was good - perfectly sandboxed executables. But Sun fell to the pressure from people who should have known better to provide ways of calling out to native DLLs. This was a terrible idea and was the source of many, many security problems. Browsers were wise to disable applets entirely.<p>* Failure to respond to competition. People wanted video on the web and tried to use Java, but the Java graphics stack was pretty slow for that kind of thing. Flash came along with its bad but usable codec built in and everyone jumped ship. A missed opportunity.<p>If Sun had fixed these problems I might be typing this comment into a Java Applet text control with formatting and spell-checking right now.
If only the conversations between Sun and Netscape had gone a little differently back in the day, and we'd had a single language/system in the browser – 'java' integrated with HTML and decent JVM sandbox shipped in every browser. Things would have looked very different today.<p>I think better, perhaps a few less web frameworks and paradigms atleast.<p><a href="https://web.archive.org/web/20070916144913/http://wp.netscape.com/newsref/pr/newsrelease67.html" rel="nofollow">https://web.archive.org/web/20070916144913/http://wp.netscap...</a>
Confusing title, because Java Applets are already dead since around 2015 when Google and Microsoft removed NPAPI support from their browsers (and Firefox followed in 2018).<p>This news is just about the removal of some leftover applet-related APIs in the JDK, hardly news-worthy IMHO because you couldn't do anything useful with those APIs anyway for quite a while.
Before flash came to dominate browser games, there where Applets. The tooling wasn't there in the same way it was for flash, so it wasn't the same explosion of creativity. But there was some fun stuff out there, arcade clones, etc. I did a writeup of how to go and relive some of that fun: <a href="http://blog.eamonnmr.com/2020/03/playing-a-90s-web-game-in-the-20s/" rel="nofollow">http://blog.eamonnmr.com/2020/03/playing-a-90s-web-game-in-t...</a>
The most fun I had with applets was the java4k gamescompetition that for a few years required the entries to be applets. At the time I thought there was something really cool about deploying a game on a static html page that anyone could click on and play. Of course actually getting the java plugin installed was usually the challenge.<p>Obviously the entire plugin api turned out to be a “bridge to far”; security was terrible, complexity and inter-op, and useability were all atrocious. Not just applets but flash and silver light as well
Just a random thought. Are there any obstacles to running Java applets in a browser's WASM environment using API emulation and static recompilation?
I will not miss them one bit. I worked at Sun back in the mid-90s evangelizing and building customer solutions with applets.<p>They were terrible then and quite frankly I'm surprised that they lasted as long as they did.
For a second I thought this was going to be about the 101 year old maker of Aplets and Cotlets candy that also just announced they are shutting down <a href="https://www.king5.com/article/news/aplets-and-cotlets-closes-101-years-liberty-orchards/281-2df48343-3cd8-40ca-8122-ac427c5e0896" rel="nofollow">https://www.king5.com/article/news/aplets-and-cotlets-closes...</a>
Java Web Start/JNLP/IcedTea is a good replacement if you don’t need direct integration of a Java UI into a web page. Integration with web applications is still possible by having the Java application run a service on localhost that the web app can communicate with. That can be used for web apps that require access to OS services that browsers don’t provide but the JVM does.
<a href="https://chrome.google.com/webstore/detail/cheerpj-applet-runner/bbmolahhldcbngedljfadjlognfaaein" rel="nofollow">https://chrome.google.com/webstore/detail/cheerpj-applet-run...</a><p>This tool allows to safely run applets in Chrome purely in HTML5/WebAssembly/JavaScript. No plugins needed.<p>Over 50k users are using it, and over the years we have been shocked by how many people and businesses are dependent on this kind of legacy content.<p>The extension is only intended for non-commercial use, we offer business an even better/faster solution by converting Java bytecode Ahead-of-time.<p>Disclosure: I am CTO of Leaning Technologies, the company developing this extension and the underlying CheerpJ technology.
And the rebirth of hypertalk:<p><a href="https://hyperscript.org" rel="nofollow">https://hyperscript.org</a><p>I live, I die, I live again
They are quite alive,<p><a href="https://leaningtech.com/cheerpj/" rel="nofollow">https://leaningtech.com/cheerpj/</a><p><a href="http://teavm.org/" rel="nofollow">http://teavm.org/</a>
Even if Applets are no longer used in the browser, they are a good candidate for a plugin system. That's what I did in some of my software: just provide a file or url and you have another software running in my software.<p>Searching for "extends JApplet" returns more than 50,000 results on github.com. SwingSet2 for example is also using the class JApplet.
Removing the 6 classes will break some stuff, including all my desktop apps.
What's the status of J2ME? It still seems to exist although I can't find any evidence of it being updated in the last 10 years. When it came out, I was expecting it or a close derivative to end up being pushed as a browser technology as well. It seems like it would have been much better suited to it than Applets ever were.
I have fond memories creating Java applets in high school; mostly games, physics sims... and later, a multi-calendar Google Calendar interface (one of the first times I got paid to write code).