Java applet

A Java applet that was created as supplementary demonstration material for a scientific publication
A Java applet that uses 3D hardware acceleration to visualize 3D files in .pdb format downloaded from a server[1]
Using applet for nontrivial animation illustrating biophysical topic (randomly moving ions pass through voltage gates)[2]
Using a Java applet for computation – intensive visualization of the Mandelbrot set[3]
Applets' running speed is sufficient for making e.g. nontrivial computer games that play chess.[4]
NASA World Wind (open source) is a second generation applet[5] that makes heavy use of OpenGL and on-demand data downloading to provide a detailed 3D map of the world.
Web access to the server console at the hardware level with the help of a Java applet
Demonstration of image processing using two dimensional Fourier transform

Java applets are small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode.

At the time of their introduction, the intended use was for the user to launch the applet from a web page, and for the applet to then execute within a Java virtual machine (JVM) in a process separate from the web browser itself. A Java applet could appear in a frame of the web page, a new application window, a program from Sun called appletviewer,[6] or a stand-alone tool for testing applets.[clarification needed]

Java applets were introduced in the first version of the Java language, which was released in 1995. Beginning in 2013, major web browsers began to phase out support for NPAPI, the underlying technology applets used to run. with applets becoming completely unable to be run by 2015–2017. Java applets were deprecated by Java 9 in 2017.[7][8][9][10][11]

Java applets were usually written in Java, but other languages such as Jython, JRuby, Pascal,[12] Scala, NetRexx, or Eiffel (via SmartEiffel) could be used as well.

Java applets run at very fast speeds[citation needed] and until 2011, they were many times faster than JavaScript.[citation needed] Unlike JavaScript, Java applets had access to 3D hardware acceleration, making them well-suited for non-trivial, computation-intensive visualizations. As browsers have gained support for hardware-accelerated graphics thanks to the canvas technology (or specifically WebGL in the case of 3D graphics),[13][14] as well as just-in-time compiled JavaScript,[15] the speed difference has become less noticeable.[citation needed]

Since Java bytecode is cross-platform (or platform independent), Java applets could be executed by clients for many platforms, including Microsoft Windows, FreeBSD, Unix, macOS and Linux. They could not be run on mobile devices, which do not support running standard Oracle JVM bytecode. Android devices can run code written in Java compiled for the Android Runtime.

  1. ^ "The home site of the 3D protein viewer (Openastexviewer) under LGPL". Archived from the original on 1 August 2009. Retrieved 21 September 2009.
  2. ^ "Generation of an action potential in cardiac cells using interactive java applet. Excitable media. movies excitable media Fitzhug nagumo beeler reuter luo rudy model mathematical cell modeling". Thevirtualheart.org. Retrieved 22 March 2022.
  3. ^ "The home site of the Mandelbrot set applet under GPL". Archived from the original on 8 May 2013. Retrieved 29 July 2013.
  4. ^ "The home site of the chess applet under BSD". Archived from the original on 7 September 2009.
  5. ^ "Next Generation in Applet Java Plug-in Technology". Archived from the original on 4 April 2009. Retrieved 25 September 2009.
  6. ^ "appletviewer — Java SE 8". Oracle. Retrieved 5 December 2023.
  7. ^ "Java 9 Release Notes". Oracle.com.
  8. ^ "JEP 289: Deprecate the Applet API". Openjdk.java.net. Retrieved 22 March 2022.
  9. ^ "JPG blog: Moving to a Plugin-Free Web". Blogs.oracle.com.
  10. ^ "JPG blog: Further Updates to 'Moving to a Plugin-Free Web'". Blogs.oracle.com.
  11. ^ "Java Client Roadmap Update" (PDF). Oracle.com. Retrieved 22 March 2022.
  12. ^ "FPC JVM – Free Pascal wiki". Wiki.freepascal.org. Retrieved 22 March 2022.
  13. ^ "canvas – HTML". Mozilla Developer Network. Retrieved 15 August 2015.
  14. ^ "WebGL – Web API Interfaces". Mozilla Developer Network. Retrieved 15 August 2015.
  15. ^ "Design Elements – Chrome V8". Retrieved 15 August 2015.