How to replace discontinued Web Technologies

Each year we find that there are web technologies whose owner companies stop providing support. Flash, Silverlight and Java applets are some examples of these disappearing technologies.

Though they are still used, each day they are receiving less and less support from web browsers, which have already removed its support in the latest version of their software or are planning to do it.

This post explains why these technologies are no longer in use and what is its replacement.

How to replace discontinued Web Technologies

We will review these web technologies and how to replace them:

  • Flash
  • Silverlight
  • Java applets
  • Java Web Start (JWS)

Flash

Flash Player was released in 1996. It was originally developed by FutureWave and then sold to Macromedia and finally Adobe.

Adobe stopped supporting Flash Player after December 31, 2020.

Flash replacements would be HTML5 canvas and JavaScript libraries such as Raphaƫl.

Silverlight

Silverlight was developed by Microsoft. It was Flash’ main competitor.

Microsoft stopped support Silverlight on October 12, 2021.

Silverlight replacements would be the same as for Flash.

ActiveX controls on Internet Explorer (IE) were small apps that allow websites to provide content. Silverlight was an ActiveX control on IE.

Java applets

Applets were pieces of code that were downloaded from webs and then run locally by the browser using the Java Virtual Machine available in JRE (Java Runtime Environment). To run these applets, browsers needed a Java Platform plugin installed.

Java applets were originally developed by Sun Microsystems and released in 1995. This company was sold to Oracle in 2010, so as of 2023 Oracle is the owner of Java.

Java applets were an Active X control on Internet Explorer.

Java applets relied on Java browser plug-in NPAPI, that has many security issues. When HTML5 emerged and there was a clear substitute for Java applets, many browsers stopped supporting applets.

Java ended applet support in 2017, and it was deprecated in JDK 9 and removed in JDK 12.

Most browsers ceased their support on Java applets:

  • Mozilla have ended support for NPAPI Applets in their Firefox browser. The NPAPI Applet is a technology used by Java, thus Mozilla effectively ended support for Java applets. This change took place in Firefox update 53 (scheduled on 18th April 2017), and was carried forward into later releases.
  • Google Chrome dropped support for NPAPI in version 45 and above.

Java applets’ main replacement is HTML5. At the time of Java applets withdrawal Oracle suggested that the natural replacement was Java Web Start, but this solution was also deprecated one year later in 2018.

Though Java applets has been long deprecated, even as of 2023 there are still (unsafe) operative legacy systems that still make use of this technology. If you ever need to use applets, you would need to:

  1. Install an applet-compatible Web browser. It can be Edge in compatibility mode, Internet Explorer (discontinued since 2022-06-15), Firefox version 52 or below or Chrome version 44 or below. I would recommend to use the first one, because it is the only still on support.
  2. Install Oracle Java JRE 8, that is available to download on this external link. Versions above or other OpenJDK builts (like Temurim) have deprecated or removed applets.

Take into account that using applets and these outdated applications imply security risks. Avoid it when possible.

Java Web Start (JWS)

Java Web Start (JWS), also known as JSR-56, is an application-deployment technology that allows to launch full-featured standalone applications over a network with a single click from a Web browser.
Applications can be downloaded and launched, such as a complete spreadsheet program or an Internet chat client, without requiring installation.

The file extension of files that should be opened with JWS is .jnlp.

JWS has never been included in open-source OpenJDK, as it is proprietary software (not open source) that currently belongs to Oracle.

On the other hand, JWS was included in some versions of Oracle’s JDK. The Oracle Java versions that included JDK spanned from Java 6 to 10.

However, JWS was deprecated in Java 9, and starting with Java 11, Oracle removed JWS from their JDK distributions. Since public support of Oracle Java 8 ended in Q2/2019, companies that are not paying the commercial license for Oracle Java no longer get any updates and security fixes for JWS.

In conclusion, JWS is only compatible with Oracle Java 6, 7 and 8. As of 2023, Oracle Java 8 is the only receiving support, until at least December 2030.

To be able to update the Java version on applications using JWS, Oracle encourages developers to use the packaging options introduced with Java SE 9 to repackage and deliver their Java applications as stand-alone applications that include their own custom runtimes, instead of relying on a browser-accesible system JRE.

You can find Oracle’s support roadmap on this external link.

In addition, there are alternative open source reimplementations of JWS:

  • IcedTea-Web
  • OpenWebStart

IcedTea-Web is an open-source reimplementation of JWS by AdoptJDK team (now Adoptium). Unlike OpenWebStart, it is compatible with Java 8 but not newer version. IcedTea-Web is proposed as JWS replacement in Adoptium Migration Guide.

OpenWebStart is an open-source reimplementation of JWS by Swiss company Karakun, based on IcedTea-Web. It allows to run JWS applications with latest Java versions (as of 2023, the newest is Java 11).

Recommended replacement technologies

At their time of release, these discontinued technologies offered the following functionalities:

  • Play media, like music and videos on a web
  • Play video games from a web
  • Provide dynamic web applications

These functionalities are covered, in a lesser or greater extent by the supported standard HTML5, that is the combination of different technologies like HTML4, CSS3 and JavaScript. In addition, HTML5 does not have the security issues related to these discontinued technologies.

Discontinued technologies should be avoided and replaced by supported standards like HTML5. Legacy applications using discontinued technologies should be progressively dismantled.

External references

One comment

Leave a Reply to Introduction to Java – RunModuleCancel Reply

Your email address will not be published. Required fields are marked *