Etiqueta HTML <applet>
La etiqueta HTML <applet> incrustaba applets Java en una página. Descubre por qué se eliminó, qué la reemplazó y ejemplos históricos.
La etiqueta <applet> se usaba para incrustar un applet de Java — un pequeño programa escrito en Java — directamente en una página web. Está obsoleta: ningún navegador moderno puede ejecutar applets, por lo que la etiqueta no hace nada en los navegadores actuales y no debe usarse en páginas nuevas. Este capítulo explica qué hacía <applet>, por qué desapareció y qué utilizar hoy en día.
El elemento <applet> podía contener otras etiquetas HTML y texto entre sus etiquetas de apertura y cierre. Ese contenido alternativo se mostraba cuando el applet no lograba cargarse — lo que, hoy en día, ocurre siempre.
Por qué <applet> está obsoleto
Los applets de Java dependían de un complemento del navegador (el Java Plug-in) cargado a través de la interfaz de complementos NPAPI. Dos factores pusieron fin a ese enfoque:
- NPAPI fue eliminado de los navegadores. Chrome deshabilitó NPAPI de forma predeterminada en 2015 y lo eliminó por completo; Firefox abandonó el soporte para complementos distintos de Flash en 2017. Sin NPAPI no hay forma de que el navegador aloje el Java Plug-in.
- El Java Plug-in llegó al final de su vida útil. Oracle anunció su plan de retirar el complemento del navegador en 2016, lo deprecó formalmente con JDK 9 (2017) y lo eliminó del JDK con JDK 11 (2018). Incluso con un navegador compatible, ya no queda ningún complemento para ejecutar.
Estas eliminaciones fueron impulsadas por el modelo de seguridad del navegador: los complementos nativos en página se ejecutaban con un amplio acceso al sistema y eran una fuente frecuente de exploits, por lo que los fabricantes los fueron suprimiendo en favor de tecnologías de plataforma web ejecutadas en entorno aislado.
¿Qué reemplaza a los applets de Java hoy? No existe un reemplazo directo, porque el objetivo — ejecutar código nativo arbitrario en la página — ha sido eliminado intencionalmente. Los equivalentes modernos dependen de lo que hacía el applet:
- Para cómputo o juegos, porta la lógica a JavaScript y dibuja con el elemento
<canvas>o WebGL. - Para código de alto rendimiento o código nativo existente, compílalo a WebAssembly y llámalo desde JavaScript.
- Para incrustar medios externos o documentos, usa el elemento
<embed>o<object>.
Este elemento es una etiqueta HTML obsoleta en HTML 4.01 y está completamente en desuso en HTML5. Ha sido eliminado del estándar y no funcionará en ningún navegador moderno. Para trabajos nuevos, usa JavaScript, WebAssembly o los elementos <object> / <embed> en su lugar.
Sintaxis
La etiqueta <applet> va en pares. El contenido se escribe entre las etiquetas de apertura (<applet>) y cierre (</applet>).
Ejemplo de la etiqueta HTML <applet>:
HTML applet Code 1
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<applet code="game.class" align="left" archive="game.zip" height="250" width="350">
<param name="difficulty" value="easy" />
<b>You need Java to play this game.</b>
</applet>
</body>
</html>Este es un ejemplo heredado solo para referencia. Dado que ningún navegador actual puede cargar applets de Java, la vista previa en vivo estará vacía — los navegadores modernos muestran únicamente el contenido alternativo (en este caso, el texto en negrita) o nada en absoluto. La etiqueta <param> pasaba valores de configuración al applet.
Resultado
La captura de pantalla a continuación muestra el aspecto que tenía un applet en funcionamiento en un navegador antiguo con el Java Plug-in instalado.

Reemplazo histórico con la etiqueta HTML <object>:
En HTML 4.01, el elemento <object> fue propuesto como reemplazo estándar de <applet>. Los valores específicos de Java codetype y classid que se muestran a continuación son en sí mismos obsoletos y ya no funcionan en ningún navegador — se documentan solo para mostrar la ruta de migración histórica, no como código funcional.
HTML object example (legacy)
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
</head>
<body>
<object codetype="application/java" classid="java:programmingtutorials.class" height="200" width="200">Programming Tutorials</object>
</body>
</html>Este fragmento también se renderizará en blanco en los navegadores modernos. Para proyectos reales, reemplaza la funcionalidad del applet con JavaScript y <canvas>, o compila el código nativo a WebAssembly. Los elementos <object> y <embed> siguen siendo útiles para incrustar medios y documentos externos.
Atributos
Los atributos que se indican a continuación se aplicaban únicamente al elemento <applet>. Son obsoletos y no forman parte de ningún estándar HTML actual — no tendrán efecto en los navegadores modernos. Esta tabla es solo para referencia histórica.
| Atributo | Valor | Descripción |
|---|---|---|
| align | left right top bottom middle baseline | Se usa para posicionar el applet en relación con otros elementos. |
| alt | text | Se usa para crear un texto alternativo para el applet. |
| archive | URL | Se usa para definir la ubicación del archivo comprimido. |
| code | URL | Se usa para definir el nombre del applet de Java. |
| object | name | Se usa para definir una referencia a una representación serializada de un applet. |
| codebase | URL | Proporciona una URL base relativa para los applets especificados en el atributo code. |
| height | pixels | Define la altura del applet. |
| hspace | pixels | Se usa para definir el espacio horizontal alrededor del applet. |
| name | name | Se usa para asignar un nombre al applet. |
| vspace | pixels | Se usa para definir el espacio vertical alrededor de un applet. |
| width | pixel | Se usa para definir el ancho de un applet. |