Tag HTML <applet>
Il tag HTML <applet> incorporava applet Java in una pagina. Scopri perché è stato rimosso, cosa lo ha sostituito e vedi esempi legacy.
Il tag <applet> veniva utilizzato per incorporare un'applet Java — un piccolo programma scritto in Java — direttamente in una pagina web. È obsoleto: nessun browser moderno è in grado di eseguire applet, quindi il tag non ha alcun effetto nei browser attuali e non dovrebbe essere utilizzato nelle nuove pagine. Questo capitolo spiega cosa faceva <applet>, perché è scomparso e cosa utilizzare oggi.
L'elemento <applet> poteva contenere altri tag HTML e testo tra il tag di apertura e quello di chiusura. Quel contenuto di fallback veniva mostrato quando l'applet non riusciva a caricarsi — il che, oggi, accade sempre.
Perché <applet> è obsoleto
Le applet Java dipendevano da un plug-in del browser (il Java Plug-in) caricato tramite l'interfaccia plug-in NPAPI. Due eventi hanno posto fine a quell'approccio:
- NPAPI è stato rimosso dai browser. Chrome ha disabilitato NPAPI per impostazione predefinita nel 2015 e lo ha rimosso completamente; Firefox ha abbandonato il supporto per i plug-in diversi da Flash nel 2017. Senza NPAPI non c'è modo per il browser di ospitare il Java Plug-in.
- Il Java Plug-in ha raggiunto la fine del ciclo di vita. Oracle ha annunciato il piano per ritirare il plug-in del browser nel 2016, lo ha formalmente deprecato con JDK 9 (2017) e lo ha rimosso dal JDK con JDK 11 (2018). Anche con un browser compatibile, non rimane alcun plug-in da eseguire.
Queste rimozioni sono state guidate dal modello di sicurezza dei browser: i plug-in nativi nella pagina operavano con ampio accesso al sistema e rappresentavano una frequente fonte di exploit, quindi i produttori li hanno eliminati progressivamente in favore di tecnologie web sandboxed.
Cosa sostituisce le applet Java oggi? Non esiste una sostituzione diretta, perché l'obiettivo — eseguire codice nativo arbitrario nella pagina — è stato intenzionalmente eliminato. I moderni equivalenti dipendono da ciò che faceva l'applet:
- Per calcoli o giochi, porta la logica in JavaScript e disegna con l'elemento
<canvas>o WebGL. - Per codice nativo esistente o ad alte prestazioni, compilalo in WebAssembly e richiamalo da JavaScript.
- Per incorporare media esterni o documenti, usa l'elemento
<embed>o<object>.
Questo elemento è un tag HTML deprecato in HTML 4.01 ed è completamente obsoleto in HTML5. È stato rimosso dallo standard e non funzionerà in nessun browser moderno. Per nuovi lavori, usa JavaScript, WebAssembly, o gli elementi <object> / <embed>.
Sintassi
Il tag <applet> viene usato in coppia. Il contenuto è scritto tra il tag di apertura (<applet>) e quello di chiusura (</applet>).
Esempio del tag 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>Questo è un esempio legacy solo a scopo di riferimento. Poiché nessun browser attuale può caricare applet Java, l'anteprima live sarà vuota — i browser moderni mostrano solo il contenuto di fallback (qui, il testo in grassetto) o nulla. Il tag <param> passava i valori di configurazione all'applet.
Risultato
Lo screenshot seguente mostra come appariva un'applet funzionante in un vecchio browser con il Java Plug-in installato.

Sostituzione legacy con il tag HTML <object>:
In HTML 4.01, l'elemento <object> era suggerito come sostituto standard per <applet>. I valori codetype e classid specifici di Java mostrati di seguito sono anch'essi obsoleti e non funzionano più in nessun browser — sono documentati solo per mostrare il percorso di migrazione storico, non come codice funzionante.
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>Anche questo snippet verrà visualizzato vuoto nei browser moderni. Per progetti reali, sostituisci la funzionalità dell'applet con JavaScript e <canvas>, oppure compila il codice nativo in WebAssembly. Gli elementi <object> e <embed> rimangono utili per incorporare media e documenti esterni.
Attributi
Gli attributi seguenti si applicavano esclusivamente all'elemento <applet>. Sono obsoleti e non fanno parte di nessuno standard HTML attuale — non avranno alcun effetto nei browser moderni. Questa tabella è fornita solo a scopo storico.
| Attributo | Valore | Descrizione |
|---|---|---|
| align | left right top bottom middle baseline | Viene utilizzato per posizionare l'applet rispetto agli altri elementi. |
| alt | text | Viene utilizzato per creare un testo alternativo per l'applet. |
| archive | URL | Viene utilizzato per definire la posizione del file archivio. |
| code | URL | Viene utilizzato per definire il nome dell'applet Java. |
| object | name | Viene utilizzato per definire un riferimento a una rappresentazione serializzata di un'applet. |
| codebase | URL | Fornisce un URL base relativo per le applet specificate nell'attributo code. |
| height | pixels | Definisce l'altezza dell'applet. |
| hspace | pixels | Viene utilizzato per definire lo spazio orizzontale attorno all'applet. |
| name | name | Viene utilizzato per assegnare un nome all'applet. |
| vspace | pixels | Viene utilizzato per definire lo spazio verticale attorno all'applet. |
| width | pixel | Viene utilizzato per definire la larghezza dell'applet. |