Ein Java-Applet ist ein Computerprogramm, das in der Programmiersprache Java verfasst wurde und normalerweise in einem Webbrowser ausgeführt wird. Sie wurden eingeführt, um Programme in Webseiten ablaufen lassen zu können, die im Webbrowser (auf der Client-Seite) arbeiten und direkt mit dem Benutzer interagieren können, ohne Daten zum Server senden zu müssen. Java-Applets waren Ende der 1990er Jahre mit ein Grund für den Erfolg und die schnelle Verbreitung von Java.
Neben Applets existieren auch Servlets; das sind ebenfalls Java-Programme, die allerdings auf dem Server ausgeführt werden.
Üblicherweise werden Java-Applets von HTML-Seiten aufgerufen. Um sie ausführen zu können, muss der jeweilige Webbrowser über eine entsprechende Java-VM verfügen. Diese VM, die Laufzeitumgebung für das Java-Applet, kann entweder Teil des entsprechenden Browsers sein oder in Form eines Java-Plugins nachträglich installiert werden (z. B. JRE von Oracle). Eine weitere Möglichkeit besteht darin, dass der Browser – wie im Fall von Opera – direkt mit der VM in Verbindung tritt, also ohne Umweg über ein Plugin.
(Der Funktionsumfang dieser VMs entspricht nur der JDK-Version 1.1, sie sind aus heutiger Sicht veraltet. Eine aktuelle VM lässt sich aber nachinstallieren, siehe Weblinks)
(Um mit diesen Browsern Applets nutzen zu können muss eine VM nachinstalliert werden, siehe Java Plug-in[1])
Die Einbindung des Applets in den HTML-Code von Webseiten erfolgt mit dem OBJECT-Element, dem APPLET-Element oder dem EMBED-Element. Alle Java-Applets werden von der Java-Klasse java.applet.Applet abgeleitet. Sie verfügen unter anderen über die folgenden Methoden, jedoch nicht über eine Methode main(), wie sie für Java-Anwendungen benötigt wird.
Für die Programmierung der Benutzeroberfläche können die beiden Techniken Swing oder AWT verwendet werden. Jedoch ergibt sich die Einschränkung, dass das in die HTML-Oberfläche eingebettete Fenster nicht programmgesteuert geschlossen werden kann, man kann aber zusätzliche Fenster öffnen.
Applets werden auf dem Rechner des Anwenders ausgeführt und stellen daher – wie jedes lokal ausführbare Programm – ein Sicherheitsrisiko dar (Java Drive-By Exploit). Da die Applets in einer abgeschotteten Laufzeitumgebung (Sandbox) laufen, ist dieses Risiko jedoch gut beherrschbar. Ein Sicherheitsrisiko durch „böswillige“ Applets besteht nur, wenn die Sandbox fehlerhaft ist.
Die Applet-Technologie bietet dem Programmierer unter Berücksichtigung der Sicherheitsregeln den vollen Funktionsumfang aus der J2SE-API und eignet sich sehr gut für Anwendungen in gepflegten Unternehmensnetzen, bei denen alle Anwender die gleiche Java-Version haben. In Zusammenarbeit z. B. mit Servlets oder Application Servern lassen sich komplexe Anwendungen erstellen, die auf diese Weise auf die Installation lokaler Software verzichten und ohne großen Aufwand mit unterschiedlichen Browsern und Betriebssystemen laufen können.
Ein Nachteil für den Einsatz im Internet und an langsamen Netzwerkanschlüssen ist aber die Größe der JRE mit 12,5 MB (Stand JRE 6.0). Ein weiterer Nachteil ist die vergleichsweise lange Initialisierungszeit für die JVM, wenn diese noch nicht geladen ist, sowie die Zeit, um das Applet herunterzuladen und zu initialisieren. Mit der Einführung des sogenannten Java-Kernels in Java SE 6 Update 10 kann die Ladezeit der JVM jedoch deutlich verkürzt werden.[2]
Zu beachten ist auch, dass Inhalte von Java-Applets nicht von Suchmaschinen erfasst werden können.
Indem ein Java-Applet um eine main-Methode erweitert wird, kann es per Doppelklick auf die entsprechende jar-Datei auch als gewöhnliche Java-Anwendung gestartet werden. Dies ist einerseits für Testzwecke praktisch, da das Applet nicht in einen Webbrowser eingebunden werden muss, zum anderen wird eine Java-Anwendung nicht in einem geschützten Bereich ausgeführt, sondern erhält (abgesehen von lokalen Sicherheitsbeschränkungen) grundsätzlich Vollzugriff auf das System. Letzteres kann jedoch zum Nachteil werden, da ein bösaritges Applet somit problemlos Schadcode ausführen kann.
Dieser Artikel basiert auf dem Artikel Java-Applet aus der freien Enzyklopädie Wikipedia und ist unter der Lizenz Creative Commons Attribution/Share Alike verfügbar. Zusätzliche Bedingungen können anwendbar sein. In der Wikipedia ist eine Liste der Autoren verfügbar. |