Un subprograma de Java es un subprograma que se proporciona a los usuarios en forma de código de bytes de Java . Un subprograma de Java puede ejecutarse en un navegador web a través de una máquina virtual Java (JVM), o en el AppletViewer de Sun , una herramienta para probar subprogramas de Java. Los subprogramas de Java se introdujeron en la primera versión del lenguaje, en 1995. Los subprogramas de Java están escritos principalmente en el lenguaje Java , pero también se pueden escribir en cualquier lenguaje que compile en código de bytes, como Jython , Groovy o incluso Scala .
Los applets se utilizan para proporcionar una funcionalidad interactiva dentro de las aplicaciones web que no puede proporcionar HTML . Dado que el código de bytes de Java es multiplataforma, los subprogramas de Java se pueden ejecutar en diferentes plataformas, incluidas Windows , Unix , Mac OS y Linux . Existen herramientas de código abierto, como applet2app , que se pueden utilizar para convertir un applet en una aplicación Java enriquecida o una aplicación nativa para Windows o Linux. Esto ofrece la ventaja de poder iniciar un subprograma Java en modo fuera de línea o fuera de un navegador web.
Muchos desarrolladores, blogs y revistas influyentes de Java recomiendan utilizar la tecnología Java Web Start en lugar de los subprogramas de Java.
La mayoría de los navegadores ejecutan los subprogramas de Java en un entorno independiente para evitar que accedan a los datos locales. El código de un subprograma se descarga de un servidor web y el navegador lanza el subprograma en la página HTML o en una nueva ventana. Un subprograma se puede mostrar en una página web utilizando la etiqueta HTML obsoleta appleto el elemento recomendado object. Estas etiquetas especifican la ubicación del subprograma.
Un subprograma Java hereda de la clase java.applet.Applet, o en el caso de un subprograma Swing , de la clase javax.swing.JApplet. La clase debe reescribir algunos métodos de la clase Applet para definir su comportamiento ( Appletes una subclase de Panel, que es una subclase de Container).
Un subprograma de Java tiene las siguientes ventajas:
Sin embargo, un subprograma de Java tiene los siguientes inconvenientes:
Existen técnicas alternativas (por ejemplo, DHTML , Flash y Microsoft Silverlight ).
Una alternativa a los applets para desarrollar aplicaciones cliente para Java es la técnica Java Web Start , que permite que las aplicaciones se ejecuten fuera del navegador.
Desde la versión 9, Java considera que los subprogramas están obsoletos y mostrará una advertencia si se utilizan.