Tag HTML <applet>
A tag HTML <applet> incorporava Java applets em páginas. Saiba por que foi removida, o que a substituiu e veja exemplos legados.
A tag <applet> era utilizada para incorporar um Java applet — um pequeno programa escrito em Java — diretamente numa página web. Ela é obsoleta: nenhum navegador moderno consegue executar applets, portanto a tag não faz nada nos navegadores atuais e não deve ser usada em páginas novas. Este capítulo explica o que a <applet> fazia, por que desapareceu e o que utilizar hoje em dia.
O elemento <applet> podia conter outras tags HTML e texto entre as suas tags de abertura e fechamento. Esse conteúdo de fallback era exibido quando o applet falhava ao carregar — o que, hoje em dia, acontece sempre.
Por que <applet> é obsoleta
Os Java applets dependiam de um plug-in de navegador (o Java Plug-in) carregado por meio da interface de plug-in NPAPI. Dois fatores encerraram essa abordagem:
- A NPAPI foi removida dos navegadores. O Chrome desativou a NPAPI por padrão em 2015 e a removeu completamente; o Firefox abandonou o suporte a plug-ins que não fossem Flash em 2017. Sem a NPAPI, não há como o navegador hospedar o Java Plug-in.
- O Java Plug-in chegou ao fim de vida. A Oracle anunciou seu plano de desativar o plug-in de navegador em 2016, o tornou formalmente obsoleto com o JDK 9 (2017) e o removeu do JDK com o JDK 11 (2018). Mesmo com um navegador compatível, não há mais plug-in disponível para executar.
Essas remoções foram motivadas pelo modelo de segurança dos navegadores: plug-ins nativos incorporados à página rodavam com amplo acesso ao sistema e eram uma fonte frequente de exploits, por isso os fornecedores os eliminaram gradualmente em favor de tecnologias de plataforma web em sandbox.
O que substitui os Java applets hoje? Não existe uma substituição direta, porque o objetivo — executar código nativo arbitrário na página — foi intencionalmente eliminado. Os equivalentes modernos dependem do que o applet fazia:
- Para computação ou jogos, porte a lógica para JavaScript e desenhe com o elemento
<canvas>ou WebGL. - Para código nativo de alto desempenho ou existente, compile-o para WebAssembly e chame-o a partir do JavaScript.
- Para incorporar mídia externa ou documentos, use o elemento
<embed>ou<object>.
Este elemento é uma tag HTML obsoleta no HTML 4.01 e está completamente obsoleto no HTML5. Foi removido do padrão e não funcionará em nenhum navegador moderno. Para novos projetos, use JavaScript, WebAssembly ou os elementos <object> / <embed>.
Sintaxe
A tag <applet> vem em pares. O conteúdo é escrito entre as tags de abertura (<applet>) e fechamento (</applet>).
Exemplo da 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>Este é um exemplo legado apenas para referência. Como nenhum navegador atual consegue carregar Java applets, a pré-visualização ao vivo estará vazia — os navegadores modernos exibem apenas o conteúdo de fallback (aqui, o texto em negrito) ou nada. A tag <param> passava valores de configuração para o applet.
Resultado
A captura de tela abaixo mostra como um applet funcional aparecia antigamente num navegador antigo com o Java Plug-in instalado.

Substituição legada com a tag HTML <object>:
No HTML 4.01, o elemento <object> foi sugerido como substituto padrão para a <applet>. Os valores Java específicos codetype e classid mostrados abaixo são eles próprios obsoletos e não funcionam mais em nenhum navegador — estão documentados apenas para mostrar o caminho histórico de migração, não 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>Atributos
Os atributos abaixo se aplicavam exclusivamente ao elemento <applet>. Eles são obsoletos e não fazem parte de nenhum padrão HTML atual — não terão efeito nos navegadores modernos. Esta tabela existe apenas para referência histórica.
| Atributo | Valor | Descrição |
|---|---|---|
| align | left right top bottom middle baseline | É usado para posicionar o applet em relação a outros elementos. |
| alt | text | É usado para criar um texto alternativo para o applet. |
| archive | URL | É usado para definir a localização do arquivo compactado. |
| code | URL | É usado para definir o nome do Java applet. |
| object | name | É usado para definir uma referência a uma representação serializada de um applet. |
| codebase | URL | Fornece uma URL base relativa para applets especificados no atributo code. |
| height | pixels | Define a altura do applet. |
| hspace | pixels | É usado para definir o espaço horizontal ao redor do applet. |
| name | name | É usado para atribuir um nome ao applet. |
| vspace | pixels | É usado para definir o espaço vertical ao redor do applet. |
| width | pixel | É usado para definir a largura do applet. |