11

Java applets are soon to be killed off forever. I understand why we shouldn't make new ones. But what will happen to old ones? There are still Java applets that people may use, and there's no guarantee that anyone will be willing or able to port them to JavaScript.

For example, this online computer music book has a lot of Java applets that explain and visualize certain digital audio concepts. Another course I'm taking uses a lot of Java applets to visualize computational geometry ideas. When Firefox drops NPAPI support, that's it, we've cut off this great reference material to all but those willing to jump through arcane technological hoops.

The following possible solutions don't always fit the bill:

  1. Just use FireFox Won't be possible after 2016.
  2. Port it or rewrite it May not be open source, or it may not be practical to do so (e.g. lack of domain knowledge).
  3. Ask the original author to do it They may have stopped supporting it years ago. Doesn't make it any less effective at, say, tracing out the steps for Delaunay triangulations.
  4. Find an alternative If none exist, we're back to the second option. If the only ones that do exist aren't browser-based, all bets are off for convenience (which is the whole point of browser apps).

Is there currently (or will there be within a year) a convenient, cross-platform way to run existing Java applets once all the major Web browsers drop NPAPI support?

Note that:

  • Actually so in-browser isn't critical, but it should still be cross-platform. Ideally I wouldn't have to download extra software (after all, I already do have a JVM installed).
  • No, I'm not suggesting we re-open the security holes that Chrome and Firefox are trying to close.
  • If there are alternative Web browsers out there designed specifically for legacy Java applet support (or at least with no plans to drop existing NPAPI support), I would be okay with that.
  • 2
    What’s wrong with using an old browser for old websites? – Daniel B Nov 12 '15 at 20:17
  • Why should I have to? Especially since older builds may not always be available or easy to produce (e.g. will last year's build of Firefox run on the machine I have in five years?). – JesseTG Nov 12 '15 at 20:19
  • Technically speaking the why is because of security. Current browsers shouldn't be made insecure. As for how this can be handled, many ways, check with the Firefox developers to determine what their plans are – Ramhound Nov 12 '15 at 20:28
  • 2
    I don't know how viable a solution it is, but the Java JDK has a debugging tool called appletviewer that may work. – heavyd Nov 12 '15 at 20:57
  • 2
    @JesseTG “Why should I have to?” Because they’re, you know, old? If you truly need old software and your current environment can’t run it, you could use a virtual machine. – Daniel B Nov 12 '15 at 22:21
8

The Java Developers Kit (JDK) has a utility that is designed for debugging applets. The tool is called appletviewer and is run like this:

<PATH_TO_JDK>\bin\appletviewer.exe <url_to_page_with_applet>

I'm not sure how viable of an option this is, but it should allow you to see many applets without using a browser.

3

According this post some browsers will extend support for NPAPI for a while:

What are the timelines for browsers' plugin support?

Individual browser vendors have been updating their plans regularly. Here's a snapshot of what some browser vendors have stated as of today:

Microsoft Internet Explorer (IE)

Microsoft has indicated that they intend to continue to offer plug-in support in IE.

Microsoft Edge

Microsoft Edge was released in Windows 10 without Browser Helper Object (BHO, aka. plugin) support. Microsoft has no plans to add plugin support to Edge.

Mozilla Firefox Extended Support Release (ESR)

Mozilla indicated in early 2016 that Firefox ESR 52 will be the last version to offer NPAPI (and JRE) support. Firefox ESR 52 is targeted for release in April 2017 and will be supported until May 2018.

Mozilla Firefox Rapid Release

Mozilla intends to remove NPAPI support from the Firefox 53 Rapid Release version targeted for release in April 2017.

Apple Safari for Mac OS

Safari offers Internet plug-in support for Mac OS users. Apple has not made any statements about deprecating plugin support for Mac OS users.

Alphabet (Google) Chrome for Windows

Chrome offered support for plugins until version 45, released in September 2015. They removed NPAPI support in later Chrome releases.

0

Although the official Firefox is not supporting NPAPI, there are supported and updated forks of Firefox code/engine, all of them are very stable projects, have a big community and are receiving security updates frequently.

List of updated forks of Firefox supporting NPAPI:

  • Waterfox 56 (updated and based in FF56)

  • Basilisk 201804 (updated and based in FF52)

  • Palemoon 27 (updated and based in FF27 UI-preAustralis)

By the way, there are also unofficial forks of Basilisk and Palemoon for Windows XP(I will not include reference because at the moment this project is not so stable as previous options)

-2

I found an extension for Chrome called CheerpJ Applet Runner that seems to be at least somewhat effective at making Java applets viewable now that browsers aren't supporting NPAPI. You can access it here: https://chrome.google.com/webstore/detail/cheerpj-applet-runner/bbmolahhldcbngedljfadjlognfaaein/related?hl=en

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.