Plummer verwijst hiermee naar het Cool-project binnen Microsoft, dat mogelijkheden voor een toekomstige object-georinteerde programmeertaal onderzoekt. "Cool ligt echter nog ver in de toekomst." "Het is dus niet langer Microsoft versus Java. Er zijn nu geen serieuze alternatieven beschikbaar die alles kunnen leveren wat Java biedt." De Gartner-directeur zegt dat er nu alleen technologien in de markt zijn die elk een stuk van Java's functionaliteit bevatten. "Bovendien is platformonafhankelijkheid een vereiste voor netwerk-georinteerde computeromgevingen." Dit alles moet de zogenoemde 'net-economie' mogelijk maken.
In onderstaand voorbeeld wordt eerst voor de volledigheid de source van de Java-applet getoond. Daarna de source van de HTML-pagina. Daar kunt u zien hoe de applet is ingebed en wordt aangeroepen. De source van de applet is niet van belang. Die blijft bij de ontwerper op zijn computer staan. De gecompileerde file - zoals die door de compiler wordt aangemaakt - is eigenlijk de applet. De client laadt bij het runnen van de HTML-pagina die file en executeert hem; en presenteert de inhoud. De afmeting van de applet heeft de HTML-programmeur wel in de hand maar de inhoud niet. Hier zie je de waterscheiding tussen de 'java-programmeur' en de 'HTML-programmeur'. Die file is van het type 'class'. De class-file bevat geen informatie waaruit iemand kan afleiden hoe hij is opgebouwd. Dat is het voordeel van java-applets. De ontwerper raakt zijn eigendommen niet kwijt. Voor de gebruiker is dat wellicht nadelig maar voor een ontwerper meestal niet. Het is gewoon een kwestie van copyrights.
Een voorbeeld van een java-listing met twee methods:
/* * Dit is een applet-source */ import java.awt.Graphics; public class Voorbeeld10 extends java.applet.Applet { int .....; double .....; public void init() { ... } public void paint(Graphics g) { for ( t=0; t < 200 ; t = t+1) { ... } } }
Dit is dus de source-code van een verder in principe willekeurige applet. De applet bestaat uit twee methods (hier 'init' en 'paint') en heeft (hier) de naam 'Voorbeeld10'. Het for-loopje geeft een indicatie dat er iets dynamisch op het beeldscherm zal gebeuren. De methods zijn grotendeels en demonstratief leeg gelaten. (Zie verder op op onze site.)
Hieronder zie je een voorbeeld van een listing van de bijbehorende HTML-file. Deze HTML-file kan de user altijd (met 'view-source' van de browser) te weten komen; let daar op als ontwerper. De inhoud van de bovenstaande class-file daar en tegen niet. Programmeren met Java heeft dus als voordeel dat je je geheimen voor de user voor je kunt houden, dwz op je eigen PC achter kunt houden.
<HTML> <BODY> <TITLE>Een applet in een HTML-file</TITLE> <P> Hier zie je een applet in een lopende tekst. <P> Dit is een eenvoudige applet <APPLET code=Voorbeeld10.class width=300 height=120> </APPLET> Je ziet het. <P> De applet gedraagt zich als een<BR> plaatje. Met een bepaalde hoogte<BR> en een bepaalde breedte. Een<BR> soort dynamisch plaatje.<BR>.....enz..... </HTML> </BODY>
Het compileren van het programma uit de in java geschreven source-file wordt bij het compileren omgezet tot een class-file. Hier "Voorbeeld10.class". Deze class-file kun je net zo hanteren als je JPEG-files hanteert. Je kunt een class-file in elke directory zetten die je maar wilt; maar het beste is in de directory waar ook de HTML-file staat. Feitelijk is een class-file niets anders dan een 'geprogrammeerd dynamisch plaatje', dat net zo in een HTML-file wordt gezet, en werkt, als een (statisch) JPEG-plaatje of een (dynamisch) animated gifje. De breedte van deze applet is ingesteld op 300 pixels; de hoogte op 120 pixels.
Bij het javaTHESIS systeem kun je deze twee files soorten files ook precies zo onderscheiden: één HTML-file waar je de applet in aanroept en je de bijbehorende teksten zet; en één source-code-file met een 'voorgeprogrammerd' programma. De ene dient geintepreteerd te worden (door de browser) de ander gecompileerd (door de JDK compiler).
Enschede, 15 febr. 2000.