Une applet java est une applet, fournie aux utilisateurs sous la forme de bytecode Java. Une applet Java peut fonctionner dans un navigateur web, grâce à une machine virtuelle Java (JVM), ou dans l'AppletViewer de Sun, un outil permettant de tester les applets Java. Les applets Java ont été introduites dans la premier version du langage, de 1995. Les applets Java sont la plupart du temps écrites en langage Java, mais elles peuvent également être écrites dans n'importe quel langage qui se compile en bytecode, comme Jython, Groovy ou encore Scala.
Les applets sont utilisées pour fournir au sein d'applications Web des fonctionnalités interactives qui ne peuvent pas être fournies par le langage HTML. Étant donné que le bytecode Java est multiplate-forme, les applets Java peuvent être exécutées sur différentes plates-formes, dont Windows, Unix, Mac OS et Linux. Il existe des outils open-source, comme par exemple applet2app, qui peuvent être utilisés pour convertir une applet en une application riche Java, ou en application native pour Windows ou Linux. Ce qui donne l'avantage de pouvoir lancer une applet Java en mode hors-ligne, ou en dehors d'un navigateur web.
Beaucoup de développeurs Java influents, blogs et magazines recommandent l'utilisation de la technologie Java Web Start au lieu des applets Java.
Les applets Java sont executées dans un environnement indépendant par la plupart des navigateurs, afin de les empêcher d'accéder aux données locales. Le code d'une applet est téléchargé depuis un serveur web et le navigateur lance l'applet dans la page HTML ou dans une nouvelle fenêtre. Une applet peut être affichée dans une page web en utilisant la balise HTML obsolète applet
, ou l'élément recommandé object
. Ces balises spécifient l'emplacement de l'applet.
Une applet Java hérite de la classe java.applet.Applet
, ou dans le cas d'une applet Swing, de la classe javax.swing.JApplet
. La classe doit réécrire certaines méthodes de la classe Applet afin de définir son comportement (Applet
est une sous classe de Panel
, qui est une sous classe de Container
).
Une applet Java présente cependant les inconvénients suivants :
Une applet Java possède les avantages suivants :
Des technologies alternatives existent (par exemple, DHTML, Flash, et Microsoft Silverlight).
Une autre alternative aux applets pour développer des applications client pour Java est la technologie Java Web Start, qui permet d'exécuter des applications en dehors du navigateur.