Wat is een Java-applet?

11 juli 2024

Een Java-applet is een klein toepassing ontworpen om te worden uitgevoerd in een webbrowser of een appletviewer, met behulp van Java programmeertaal. Applets, geïntroduceerd als onderdeel van de Java Development Kit (JDK) halverwege de jaren negentig, waren een populaire manier om interactieve functies en dynamische inhoud voor webpagina's te creëren.

wat is een Java-applet

Wat is een Java-applet?

Een Java-applet is een kleine client-side applicatie geschreven in de Java programmeertaal, ontworpen om te draaien binnen een web browser of een appletviewer. Geïntroduceerd als onderdeel van de Java Development Kit (JDK) halverwege de jaren negentig, applets bood een manier om interactieve functies en dynamische inhoud voor webpagina's te creëren. In tegenstelling tot zelfstandige Java-applicaties werden applets doorgaans ingebed HTML pagina's en uitgevoerd door de Java Virtual Machine (JVM) op de lokale machine van de gebruiker, waardoor een niveau van platformonafhankelijkheid wordt geboden.

Java-applets werkten binnen een beveiligde omgeving die bekend staat als de "zandbak”, waardoor hun toegang tot het lokale werd beperkt bestandssysteem en netwerkbronnen om kwaadaardige activiteiten te voorkomen. Dit beveiligingsmodel was essentieel omdat applets aan de clientzijde werden gedownload en uitgevoerd, vaak zonder expliciete toestemming van de gebruiker.

Historisch gezien konden applets een verscheidenheid aan taken uitvoeren, zoals het weergeven van afbeeldingen, het afspelen van media of het creëren van interactieve gebruikersinterfaces, waardoor ze geschikt werden voor toepassingen zoals online games, educatieve hulpmiddelen en interactieve simulaties. Tegenwoordig zijn Java-applets echter grotendeels verouderd en worden ze niet langer ondersteund door de meeste moderne webbrowsers.

Waar werden applets voor gebruikt?

Java-applets werden van oudsher voor verschillende doeleinden gebruikt, waarbij gebruik werd gemaakt van hun vermogen om interactieve en dynamische inhoud op webpagina's te bieden. Enkele veelvoorkomende toepassingen van applets zijn:

  • Interactieve graphics en animaties. Applets werden vaak gebruikt om animaties en interactieve afbeeldingen op webpagina's te maken, waardoor gebruikers rechtstreeks in hun browser met visuele inhoud konden omgaan.
  • Educatieve hulpmiddelen. Veel educatieve websites maken gebruik van applets om interactieve simulaties en visualisaties te maken, waardoor studenten complexe concepten kunnen begrijpen door middel van praktische experimenten en visualisaties.
  • Online spelletjes. Applets boden een platform voor het rechtstreeks in webbrowsers ontwikkelen en spelen van games zonder dat er extra plug-ins of software-installaties nodig waren.
  • Data visualisatie. Applets werden gebruikt om real-time datavisualisaties weer te geven, zoals diagrammen en grafieken, waardoor het gemakkelijker werd om informatie dynamisch te presenteren en analyseren.
  • Mediaspelers. Sommige websites gebruikten applets om mediaspelers in te sluiten voor het afspelen van audio en video, waardoor multimedia-inhoud rechtstreeks in de browser werd aangeboden.
  • Formuliervalidatie. Applets werden gebruikt voor de validatie van formulieren aan de clientzijde, waardoor de invoer van gebruikers vóór indiening aan specifieke criteria voldeed, waardoor het aantal formulieren werd verminderd server laden en de gebruikerservaring verbeteren.
  • Financiële toepassingen. Platformen voor online bankieren en handelen gebruiken applets om veilige, interactieve interfaces te bieden waarmee gebruikers hun rekeningen kunnen beheren en transacties kunnen uitvoeren.
  • Wetenschappelijke simulaties. Onderzoekers en wetenschappers gebruikten applets om simulaties van wetenschappelijke verschijnselen te creëren, waardoor gebruikers variabelen konden manipuleren en resultaten in realtime konden observeren.

Levenscyclus en levenscyclusmethoden van Java-applet

De levenscyclus van de Java-applet bestaat uit verschillende fasen, elk vertegenwoordigd door een specifieke methode in de Applet-klasse. Deze levenscyclusmethoden worden automatisch aangeroepen door de browser of appletviewer op verschillende punten tijdens de uitvoering van de applet. De primaire levenscyclusmethoden zijn init(), start(), stop() en destroy(). Bovendien wordt verf (Graphics g) vaak beschouwd als onderdeel van de levenscyclus voor het verwerken van rendering. Hier volgt een gedetailleerde uitleg van elke fase en methode:

in het()

De methode init() is de eerste methode die wordt aangeroepen wanneer een applet wordt geladen. Het wordt gebruikt om elke initialisatie uit te voeren die nodig is voor de applet, zoals het instellen van gebruikersinterfacecomponenten, het laden van bronnen of het instellen van initiële waarden. Deze methode wordt slechts één keer aangeroepen tijdens de levensduur van de applet.

begin()

De methode start() wordt aangeroepen na init() en wordt elke keer aangeroepen als de applet wordt gestart of opnieuw wordt opgestart, bijvoorbeeld wanneer de gebruiker de pagina met de applet opnieuw bezoekt. Deze methode wordt doorgaans gebruikt om acties of animaties die de applet uitvoert terwijl deze actief is, te starten of te hervatten. In tegenstelling tot init() kan start() tijdens de levensduur van de applet meerdere keren worden aangeroepen.

verf (Grafische afbeeldingen g)

De methode paint(Graphics g) wordt aangeroepen wanneer de applet de uitvoer opnieuw moet tekenen. Dit kan gebeuren wanneer de applet voor het eerst wordt weergegeven, wanneer de grootte ervan wordt gewijzigd of wanneer deze wordt weergegeven nadat deze door andere vensters is verborgen. Het Graphics-object g wordt doorgegeven aan de methode, die wordt gebruikt om afbeeldingen op het weergavegebied van de applet te tekenen. Deze methode is essentieel voor het weergeven van de visuele componenten van de applet.

hou op()

De methode stop() wordt aangeroepen wanneer de applet wordt gestopt, bijvoorbeeld wanneer de gebruiker weg navigeert van de pagina die de applet bevat of wanneer het tabblad van de applet wordt geminimaliseerd. Deze methode wordt gebruikt om lopende activiteiten, zoals animaties of achtergrondtaken, op te schorten om hulpbronnen te besparen. Net als start() kan de methode stop() tijdens de levensduur van de applet meerdere keren worden aangeroepen.

vernietigen()

De methode destroy() is de laatste methode die wordt aangeroepen wanneer een applet uit het geheugen wordt verwijderd. Het wordt slechts één keer aangeroepen, net voordat de applet wordt verwijderd. Deze methode geeft alle bronnen vrij die zijn toegewezen tijdens de uitvoering van de applet, zoals geheugen of bestandshandles, waardoor een schone afsluiting wordt gegarandeerd.

Java-applettypen

Java-applets kunnen worden ingedeeld in twee hoofdtypen op basis van hun functionaliteit en interactie met de gebruiker: lokale applets en applets op afstand. Hier volgt een uitleg van beide.

Lokale applets

Lokale applets zijn applets die op dezelfde machine zijn opgeslagen als de webbrowser. Ze werden doorgaans lokaal ontwikkeld en getest voordat ze naar internet werden geüpload server. Omdat ze niet van een afstandsbediening hoefden te worden gedownload serverkonden lokale applets sneller worden geladen en uitgevoerd tijdens de ontwikkelings- en testfasen. Lokale applets worden vaak gebruikt voor:

  • Ontwikkeling en testen. Ontwikkelaars gebruikten lokale applets om hun code te testen en problemen op te lossen voordat ze de applet op een afstandsbediening implementeerden server.
  • Intranettoepassingen. In sommige gevallen werden lokale applets gebruikt binnen het intranet van een organisatie, waar ze lokaal toegankelijk waren en konden worden uitgevoerd servers.

Externe applets

Externe applets werden op een afstandsbediening opgeslagen web server en gedownload en uitgevoerd door de webbrowser van de gebruiker wanneer deze een webpagina bezocht die de applet bevatte. Deze applets waren doorgaans ingebed in HTML-pagina's en waren toegankelijk via internet. Externe applets kwamen vaker voor in toepassingen in de echte wereld en werden gebruikt voor:

  • Interactieve webapplicaties. Externe applets creëerden interactieve functies op websites, zoals games, simulaties of interactieve formulieren.
  • Educatieve hulpmiddelen. Educatieve websites gebruikten applets op afstand om interactieve leermodules en simulaties aan te bieden waartoe gebruikers overal toegang hadden.
  • Financiële diensten. Platformen voor online bankieren en handelen gebruikten applets op afstand om veilige, interactieve interfaces te bieden voor financiële transacties en datavisualisatie.
  • Multimedia-inhoud. Websites gebruikten externe applets om multimedia-inhoud, zoals audio- en videospelers, rechtstreeks in webpagina's in te sluiten.

Voor- en nadelen van Java-applets

Java-applets, ooit een populaire keuze voor het toevoegen van dynamische en interactieve inhoud aan webpagina's, hebben hun eigen voor- en nadelen. Als u deze begrijpt, kunt u inzicht krijgen in waarom ze in het verleden op grote schaal werden gebruikt en waarom het gebruik ervan de afgelopen jaren is afgenomen.

Voordelen

Java-applets boden verschillende voordelen, vooral in de context van webgebaseerde applicaties en interactieve inhoud. Hier zijn enkele van de belangrijkste voordelen:

  • Platformonafhankelijkheid. Een van de belangrijkste voordelen van Java-applets was hun platformonafhankelijkheid. Omdat applets binnen de Java Virtual Machine (JVM) draaiden, konden ze worden uitgevoerd op elk besturingssysteem waarop een compatibele JVM was geïnstalleerd. Hierdoor konden ontwikkelaars één keer code schrijven en deze zonder aanpassingen op meerdere platforms implementeren.
  • Verbeterde interactiviteit. Java-applets maakten de creatie mogelijk van interactieve webapplicaties die in realtime op gebruikersinvoer kunnen reageren. Deze interactiviteit was gunstig voor toepassingen zoals online games, simulaties en educatieve hulpmiddelen, waarbij onmiddellijke feedback en dynamische inhoud essentieel waren.
  • Rijke graphics en multimedia. Applets ondersteunden rijke grafische afbeeldingen en multimedia-inhoud, waardoor ontwikkelaars visueel aantrekkelijke applicaties konden maken. Met de robuuste grafische bibliotheken van Java kunnen applets complexe afbeeldingen en animaties weergeven en zelfs audio- en videocomponenten integreren.
  • Beveiliging. Java-applets werkten binnen een beveiligde omgeving, de 'sandbox' genaamd, die hun toegang tot het lokale systeem beperkte. Dit beveiligingsmodel hielp gebruikers te beschermen tegen potentieel schadelijke code door de mogelijkheden van de applet om gevoelige bewerkingen uit te voeren, zoals toegang tot het bestandssysteem of netwerkbronnen, te beperken.
  • Gemakkelijk te integreren. Applets kunnen eenvoudig in HTML-pagina's worden ingesloten met behulp van eenvoudige tags, waardoor de integratie ervan in bestaande webpagina's eenvoudig wordt. Deze naadloze integratie maakt verbetering van de webinhoud mogelijk zonder significante wijzigingen in de onderliggende HTML-structuur.
  • Efficiënt gebruik van hulpbronnen. Omdat applets klein zijn, vereisen ze doorgaans minder bronnen in vergelijking met volwaardige applicaties. Deze efficiëntie maakte ze geschikt voor toepassingen waarbij snelle laadtijden en minimaal hulpbronnengebruik belangrijk waren.
  • Consistente gebruikerservaring. Met applets kunnen ontwikkelaars zorgen voor een consistente gebruikerservaring op verschillende platforms en browsers. De Java runtime-omgeving leverde een gestandaardiseerd platform voor de uitvoering van applets, waardoor de variabiliteit in de manier waarop de applet zich op verschillende systemen gedroeg, werd verminderd.
  • Herbruikbaarheid. Code die voor Java-applets is geschreven, kan vaak worden hergebruikt in andere Java-applicaties, waardoor de herbruikbaarheid van code wordt bevorderd en de ontwikkeltijd wordt verkort. Dit voordeel was vooral handig voor ontwikkelaars die aan meerdere Java-gebaseerde projecten werkten.

Nadelen

Hoewel Java-applets vanaf het begin innovatief waren, hebben ze verschillende belangrijke nadelen die hebben bijgedragen aan de afname van hun populariteit. Hier zijn enkele belangrijke nadelen:

  • Beveiligingsproblemen. Java-applets hebben in de loop der jaren te maken gehad met talloze beveiligingsproblemen, waardoor ze kwetsbaar zijn voor aanvallen. Omdat applets op de computer van de klant draaien, kan elk beveiligingslek worden misbruikt om het systeem van de gebruiker in gevaar te brengen. Dit heeft geleid tot een gebrek aan vertrouwen en veel browsers hebben de ondersteuning van applets standaard uitgeschakeld.
  • Browser compatibiliteit. Verschillende webbrowsers verwerken applets op verschillende manieren, wat tot compatibiliteitsproblemen leidt. Naarmate de browsertechnologie evolueerde, hebben veel browsers de ondersteuning voor Java-applets volledig afgebouwd, waardoor een inconsistentie in de gebruikerservaring ontstond.
  • Prestatieproblemen. Java-applets kunnen veel hulpbronnen vergen en tragere prestaties en langere laadtijden veroorzaken, vooral bij complexe applicaties. Dit kan leiden tot een suboptimale gebruikerservaring, vooral op apparaten met beperkte verwerkingskracht.
  • Mobiele incompatibiliteit. Applets zijn niet compatibel met mobiele browsers, wat een aanzienlijk nadeel is gezien het toenemende gebruik van mobiele apparaten.
  • Complexe implementatie. Voor het implementeren van Java-applets zijn specifieke configuraties op zowel de server en clientzijde, inclusief het garanderen dat de juiste versie van de Java Runtime Environment (JRE) is geïnstalleerd. Dit kan omslachtig en gevoelig voor problemen zijn, wat leidt tot extra onderhoudsoverhead.
  • Beperkte functionaliteit. Java-applets voeren een sandbox uit, waardoor hun vermogen om met het lokale systeem te communiceren wordt beperkt. Hoewel dit goed is voor de veiligheid, beperkt het de functionaliteit van de applet, waardoor deze ongeschikt wordt voor toepassingen die uitgebreidere systeemtoegang vereisen.
  • Afnemende steun en adoptie. Met de komst van moderne webtechnologieën zoals HTML5, CSS3 en JavaScript, die vergelijkbare of superieure functionaliteiten bieden zonder de nadelen van applets, heeft de ontwikkelingsgemeenschap zich grotendeels afgekeerd van Java-applets. Deze afname van de ondersteuning betekent minder middelen en updates, waardoor de levensvatbaarheid ervan verder wordt verminderd.
  • Gebruikerservaring. Java-applets vereisen vaak extra stappen voor gebruikers om ze werkend te krijgen, zoals het bevestigen van beveiligingswaarschuwingen of het installeren/bijwerken van de JRE. Deze extra stappen kunnen gebruikers frustreren en hen ervan weerhouden op applet gebaseerde applicaties te gebruiken.
  • Onderhoudsuitdagingen. Gezien de frequente beveiligingsupdates die nodig zijn voor de JRE en de evoluerende aard van webbrowsers, kan het onderhouden van een Java-applet een uitdaging en tijdrovend zijn, waarbij voortdurende monitoring en updates nodig zijn om een ​​soepele werking te garanderen.

Hoe voer ik een Java-applet uit?

hoe u een Java-applet uitvoert

Hier vindt u een uitleg over het uitvoeren van een Java-applet met behulp van verschillende tools.

HTML-bestand gebruiken

Als u een Java-applet uitvoert met behulp van een HTML-bestand, moet u de applet insluiten in de HTML-code, zodat deze in een webbrowser kan worden uitgevoerd. Hier volgt een stapsgewijze uitleg van het proces:

  1. Maak de Java Applet-klasse. Eerst moet u een Java-klasse maken die de Applet- of JApplet-klasse uitbreidt. Deze klasse moet de noodzakelijke levenscyclusmethoden (init(), start(), stop(), destroy()) en alle andere logica bevatten die nodig is voor de functionaliteit van de applet.
import java.applet.Applet;

import java.awt.Graphics;

public class MyApplet extends Applet {

    public void init() {

        // Initialization code

    }

    public void start() {

        // Code to start the applet

    }

    public void stop() {

        // Code to stop the applet

    }

    public void destroy() {

        // Cleanup code

    }

    public void paint(Graphics g) {

        g.drawString("Hello, World!", 20, 20);

    }

}
  1. Compileer de Java-klasse. Compileer de Java-klasse om een ​​.class-bestand te maken. U kunt dit doen met behulp van het javac-commando:
javac MyApplet.java
  1. Maak het HTML-bestand. Maak een HTML-bestand dat de applet laadt en uitvoert. Dit bestand maakt gebruik van de tag (verouderd) of de tag om de applet in te sluiten.

De ... gebruiken tag (verouderd):

<!DOCTYPE html>

<html>

<head>

    <title>My Java Applet</title>

</head>

<body>

    <h1>Java Applet Example</h1>

    <applet code="MyApplet.class" width="300" height="300">

        Your browser does not support Java Applets.

    </applet>

</body>

</html>

De ... gebruiken label:

<!DOCTYPE html>

<html>

<head>

    <title>My Java Applet</title>

</head>

<body>

    <h1>Java Applet Example</h1>

    <object classid="java:MyApplet.class" width="300" height="300">

        Your browser does not support Java Applets.

    </object>

</body>

</html>
  1. Open het HTML-bestand in een browser. Open het HTML-bestand in een webbrowser die Java-applets ondersteunt. Houd er rekening mee dat de meeste moderne browsers vanwege veiligheidsredenen geen Java-applets meer ondersteunen. Het kan dus zijn dat u een oudere browser of een specifieke applet-viewertool moet gebruiken.

Appletviewer-tool gebruiken

Het uitvoeren van een Java-applet met behulp van de appletviewer-tool omvat verschillende stappen. De appletviewer is een opdrachtregelhulpprogramma dat wordt meegeleverd met de Java Development Kit (JDK) en specifiek wordt gebruikt voor het testen van Java-applets zonder dat een webbrowser nodig is. U kunt als volgt een Java-applet uitvoeren met behulp van de appletviewer-tool:

  1. Schrijf de Java-appletcode. Maak een Java-applet door de benodigde code te schrijven. Hieronder ziet u een eenvoudig voorbeeld van een Java-applet:
import java.applet.Applet;

import java.awt.Graphics;

public class HelloWorldApplet extends Applet {

    public void paint(Graphics g) {

        g.drawString("Hello, World!", 20, 20);

    }

}
  1. Compileer de Java-applet. Compileer de applet met behulp van de javac-opdracht om de bytecode (.class-bestand) te genereren op basis van de broncode (.java-bestand).
javac HelloWorldApplet.java

Deze opdracht produceert een bestand met de naam HelloWorldApplet.class.

  1. Maak een HTML-bestand. Maak een HTML-bestand om aan te geven hoe de applet moet worden ingesloten en uitgevoerd. Hier is een eenvoudig HTML-bestand met de naam applet.html:
<html>

<body>

    <applet code="HelloWorldApplet.class" width="300" height="300">

    </applet>

</body>

</html>

Dit HTML-bestand bevat de tag, die verwijst naar de gecompileerde appletklasse en de afmetingen van het weergavegebied van de applet specificeert.

  1. Voer de applet uit met appletviewer. Gebruik de appletviewer-tool om de applet rechtstreeks vanaf de opdrachtregel uit te voeren. De appletviewer leest het HTML-bestand en voert de daarin aanwezige applet uit.
appletviewer applet.html

Met deze opdracht wordt een venster geopend waarin de applet wordt weergegeven zoals gedefinieerd in het HTML-bestand. De appletviewer-tool interpreteert de tag en voert de applet uit in een zelfstandig venster, waardoor het handig is voor testdoeleinden zonder dat er een webbrowser tussen zit.


Anastasia
Spasojević
Anastazija is een ervaren contentschrijver met kennis en passie voor cloud computergebruik, informatietechnologie en onlinebeveiliging. Bij phoenixNAP, richt ze zich op het beantwoorden van brandende vragen over het waarborgen van de robuustheid en veiligheid van gegevens voor alle deelnemers aan het digitale landschap.