Java, JavaScript en ActiveX

Marc van Oostendorp

Verschenen in Praktijkgids Internet, 1997.

Tot een jaar of twee geleden zat er weinig beweging in de pagina's die gepresenteerd werden op het World Wide Web. Een ontwerper die zich helemaal te buiten wilde gaan aan visueel geweld kon hooguit een koppeling opnemen naar een een videofilmpje. De gebruiker klikte op die koppeling en zat vervolgens een half uur te wachten tot zij zo'n fragment binnen had. Vervolgens moest hij of zij een apart programma starten om het filmpje te bekijken. Dat filmpje duurde tweeëneenhalve minuut. Dan was het afgelopen. 

Er is ondertussen wel het een en ander veranderd. Webpagina's zijn in de loop van de tijd steeds meer multimediale elementen gaan bevatten. De twee belangrijkste eigenschappen van multimedia zijn dynamiek en interactiviteit. Een multimedia-toepassing beweegt en nodigt de gebruiker uit iets bij te dragen aan de loop van het programma, bijvoorbeeld door te klikken met zijn muis of iets in te voeren op het toetsenbord. 

In dit artikel worden enkele van de technieken behandeld die de laatste jaren zijn geïntroduceerd om het Web wat levendiger te maken. Aan de orde komen achtereenvolgens Java, ActiveX en JavaScript. De nadruk ligt steeds op praktische voorbeelden van Web-sites waarin de hier genoemde technieken verwerkt zijn en waarmee u nu al aan het werk kunt. 

Java

Begin 1995 kwam de computerfirma Sun met een programmeertaal die uiterst geschikt zou zijn voor het Internet. Die taal kreeg de naam Java -- een populair Amerikaans woord voor koffie. Vanaf de introductie is het razendsnel gegaan. Sun kwam zelf met een aantrekkelijke bladerprogramma die met Java kon omgaan en begon bovendien gratis ontwikkelinstrumenten voor nieuwbakken programmeurs te leveren. Belangrijker nieuws was dat zowel Netscape, de firma die de Web-browser levert waarmee zo'n zestig procent van de Net-surfers werkt, vrijwel meteen aankondigde met Java in zee te gaan, en dat Microsoft, de maker van Internet Explorer waarmee bijna alle anderen werken, al snel het zelfde deed. Er kwamen al snel andere programmeeromgevingen van beroemde producenten van programmeertalen zoals Symantec, Borland en (wederom) Microsoft. Die twee berichten samen wekken de verwachting dat Java wel eens tot de belangrijkste nieuwe softwareproducten van de afgelopen jaren zal kunnen blijken te behoren. 

Wat is Java?

Met het versturen van gewone programma's, zoals u die op uw harde schijf hebt staan, over het Internet zijn drie problemen verbonden. Allereerst zijn programma's niet uitwisselbaar tussen systemen: een Windows-EXE-bestand kan niet zonder meer op een Mac gedraaid worden en omgekeerd draaien Mac-programma's niet onder Windows. Ten tweede is er een belangrijk veiligheidsaspect: virussen zouden zich bijvoorbeeld wel erg gemakkelijk kunnen verspreiden als programma's vrijelijk over het Net verstuurd konden worden. Het laatste probleem is dat het versturen van programma's erg langzaam is. Programma's zijn groot en nemen daarom tijd in beslag. 

Java zorgt voor een oplossing voor alle drie de problemen. Op een Web-pagina kan de ontwerper een koppeling opnemen naar een Java-toepassing, applet genaamd. In plaats van een bestand haalt de browser een set Java-instructies op. In bladerprogramma's als Netscape Navigator (vanaf versie 3.0 voor Windows 95 en Macintosh en vanaf versie 3.01 voor Windows 3.1) en Microsoft Internet Explorer (vanaf versie 3.0 voor Windows 95 en Macintosh) en nog een paar andere zit een onderdeel dat deze Java-instructies ter plekke vertaalt naar machine-specifieke computeropdrachten. Een Windows-computer vertaalt ze dus naar Windows-instructies, een Apple naar Macintosh-instructies, enzovoort. Elk Java-programma kan zo op elk systeem gedraaid worden. 

Ook de veiligheid is volgens Sun gegarandeerd, omdat het interpreter-programma alle Java-opdrachten aan een aantal tests onderwerpt. Opdrachten die schade zouden kunnen toebrengen aan bestanden op de harde schijf of vitale onderdelen van het computergeheugen worden eenvoudigweg niet uitgevoerd. 

Tenslotte is de omvang van een Java-programma meestal beperkt doordat allerlei soorten overbodige informatie eruit gefilterd zijn. Alleen de hoogst noodzakelijke informatie om een programma te laten werken wordt overgestuurd, de rest wordt overgelaten aan de computer-specifieke interpreter. Daar staat dan wel tegenover dat die interpreter allerlei extra dingen moet uitrekenen, maar de ervaring leert dat dit uitrekenen op de meeste systemen sneller gaat dan het versturen van grote bestanden. 

Niet voor niets hebben veel mensen in de computerindustrie grote verwachtingen voor Java. Al op dit moment valt er het nodige te beleven voor de bezitters van moderne bladerprogramma's met ingebouwde Java-functies. 

Eerste praktisch voorbeeld van Java: Het Stedelijk Museum

Een relatief eenvoudig maar zeer fraai voorbeeld van de functionaliteit en gebruikersvriendelijkheid die een Web-site die gebruik maakt van Java u kan bieden wordt geleverd op de pagina's van het Stedelijk Museum (http://art.cwi.nl/). Deze pagina's zijn wereldberoemd -- ze worden bijvoorbeeld met ere genoemd in de rubriek Wat is er hip ('What's cool') van de firma Netscape. Dat is terecht. 

U wordt bij binnenkomst uitgenodigd te kiezen uit een van drie verschillende zoekmechanismen om de vaste collectie van het museum te benaderen. U kunt zoeken in een tijdsbalk, op naam van de kunstenaar, of naar trefwoorden in de beschrijving van kunstwerken. Bij alle drie de keuzes wordt vervolgens een kleine Java-toepassing geopend. 

Kiest u voor de mogelijkheid tijdsbalk dan start een programma in een apart venstertje waarin een tijdsbalk over de twintigste eeuw wordt vertoond. Door op een jaartal te klikken, roept u een lijst met werken uit het museum die in dat jaar gemaakt zijn tevoorschijn: 

Schermafbeelding

Door nu de naam van het kunstwerk dat u interesseert te kiezen en vervolgens op de knop Naar Pagina te klikken, wordt het Java-programma gesloten. Het bladerprogramma neemt het weer over en vertoont de pagina met het geselecteerde kunstwerk. 

De gegevensbank van het museum valt niet alleen via deze tijdsbalk te benaderen. Op een zelfde inzichtelijke manier kunt u ook zoeken op naam van de kunstenaar. Hiervoor wordt een nieuw programma gestart dat in plaats van een tijdsbalk een lijst weergeeft met de letters van het alfabet. Door op een letter te klikken krijgt u een overicht te zien van kunstenaarsnamen die met de desbetreffende letter beginnen: 

Ook hier kunt u weer de naam van een kunstenaar (en een werk) selecteren en vervolgens door op de knop Naar Pagina te klikken uw bladerprogramma de opdracht geven de juiste pagina te tonen. Door op de knop Sluiten te klikken, wordt het Java-programma afgesloten en keert u onverrichterzake terug naar uw bladeraar. 

Daar wordt u nog een derde zoekmogelijkheid geboden, namelijk op trefwoord. Door de mogelijkheid Zoeken op de homepage aan te klikken verschijnt deze derde Java-toepassing. Hier kunt u trefwoorden ingegeven. Vervolgens krijgt u een lijst te zien met alle kunstwerken die het desbetreffende trefwoord in hun omschrijving hebben staan. Wanneer u bijvoorbeeld 'stilleven' aanklikt, krijgt u een lijst met alle stillevens: 

De site van het Stedelijk Museum vertoont de belangrijkste kenmerken en kwaliteiten van Java. Er wordt gewerkt met kleine maar zeer nuttige programma's die zelfs over een eenvoudig modem redelijk snel binnenkomen. De programma's zijn bovendien gemakkelijk te bedienen en werken heel soepel samen met Netscape of Internet Explorer. Wanneer u er niet op bedacht was, had u misschien nauwwelijks in de gaten dat er onderwijl een apart programma gestart was. 

Tweede praktisch voorbeeld van Java: Talk.com

Het voorafgaande voorbeeld liet zien hoe een eenvoudige Java-toepassing kon worden geïntegreerd met het bladerprogramma om de zoekfaciliteit te verbeteren. Ook complete programma's die een geheel onafhankelijk leven van de bladeraar leven kunnen met Java worden verzonden. Op dit moment zijn er al enkele nieuwe toepassingen van het Internet bedacht die gebruik maken van deze mogelijkheid. 

Een voorbeeld hiervan is de zogenaamde chat-applicatie, waarmee bouwers van Web-sites op een uiterst eenvoudige manier een functionaliteit aan hun pagina kunnen toevoegen waardoor gebruikers met elkaar kunnen praten. Uiteraard kent het Internet reeds sinds jaar en dag openbare babbelboxen, die onder de naam IRC door het leven gaan, maar deze hebben enkele nadelen. Ten eerste zijn ze onbereikbaar voor mensen die alleen gebruik willen maken van bladerprogramma's als Netscape of de Internet Explorer. Iemand die geïnteresseerd is in dit soort dingen, zal eerst de benodigde software te pakken zien te krijgen. Ten tweede zijn deze babbelboxen wel erg letterlijk openbaar. Iedereen kan op elk moment elke willekeurige groep komen binnenstappen. Dat komt de kwaliteit van de discussies over het algemeen niet ten goede. 

Door de chat-functionaliteit nu als een Java-applet aan een Web-pagina toe te voegen zijn beide problemen opgelost. U hoeft als gebruiker geen speciale programma's op uw harde schijf te hebben, want alles wat u nodig heeft wordt in Java-vorm naar u toegestuurd. Ook als er eens een nieuwe versie van de programmatuur komt, hoeft u daar niet over na te denken. Ook die komt dan de eerstvolgende keer dat u de babbelbox bezoekt automatisch binnen. Doordat de praatruimtes aan een bepaalde Web-site gebonden zijn, kunt u er verder ook verzekerd van zijn dat degenen met wie u de ruimte deelt dezelfde interesses hebben. Het is zelfs mogelijk om besloten ruimtes te creëren, waarin vergaderd kan worden. 

Een concreet voorbeeld van een Java-programma waarmee u via het toetsenbord met anderen kunt spreken, is Talk.com van het Wired-concern. Deze pagina wordt automatisch gestart wanneer u uw bladerprogramma de opdracht geeft de pagina http://www.talk.com/ te openen. Na een paar minuten is het programma geladen en de verbinding met de praatruimtes gelegd. U krijgt een scherm waarmee u zich kunt aanmelden om de ruimtes binnen te komen. 

Wanneer u zich al bij het netwerk van het grote Wired-concern heeft aangemeld, vult u hier uw naam en een paswoord in en klikt vervolgens op OK. Heeft u zich nog niet eerder in dit gedeelte van het Web begeven, dan kiest u hier de mogelijkheid New Account om alsnog een (gratis) rekening te openen. Daarna treedt u alsnog binnen. De eigenlijke Java-toepassing wordt nu gestart. U krijgt het volgende scherm te zien: 

Onder List of Rooms (lijst kamers) vindt u een lijst met ruimtes waarin op dat moment gesproken wordt. U vindt hier overigens meestal een ruimte waarin u met andere belangstellenden van gedachten kunt wisselen over Java zelf. Onder deze lijst vindt u een lijst met de (bij)namen van de deelnemers aan het gesprek in de ruimte waar u zich op dit moment bevindt. In het bovenstaande voorbeeld heet die ruimte Club Wired

In het grote veld links ziet u de bijdragen van uw medeparticipanten aan de huidige discussie. Daaronder ziet u een klein veld waarin u uw eigen bijdragen kwijt kunt. Wanneer u op de knop met de tekst Send klikt, verstuurt u het bericht. Binnen korte tijd krijgen de andere gebruikers uw bericht op hun scherm. Wanneer u klaar bent, kiest u de mogelijkheid Exit in het menu Options. U verlaat dit programma dan. 

Derde praktisch voorbeeld van Java: WordPerfect

Naar verwachting zullen binnen een niet al te lange tijd zeer veel programma's ons in een Java-versie ter beschikking staan. Het gaat dan allang niet meer om programma's die op de een of andere manier zouden moeten samenwerken met een bladerprogramma voor het World Wide Web, en zelf niet meer alleen over Internet-programmatuur. Ook tekstverwerkers en spreadsheets zullen als Java-toepassingen verschijnen. 

Een voorproefje hiervan wordt nu al gegeven door de firma Corel, de huidige eigenaar van onder andere het nog altijd populaire tekstverwerkingspakket WordPerfect. Op de Web-site van Corel (http://www.corel.com/) is een proefversie van de Java-versie van dit programma te vinden. Corel adviseert voor succesvol gebruik van dit programma overigens zelf een ISDN-aansluiting, maar bij een snel modem en een gewone telefoonaansluiting werkt het pakket nog, al zit u iets langer te wachten tot het gehele programma binnen is. 

Zoals u ziet, kunt u zelfs voor verschillende programma's kiezen. Op het moment van schrijven was naast de tekstverwerker ook een versie van de spreadsheet Quattro Pro opengesteld. Naar verwachting worden ook de andere programma's uit de Office Suite van Corel in Java omgezet. Hier beperken we ons tot de tekstverwerker. Door op de knop naast WordPerfect te klikken, opent u dit programma. 

Zoals u ziet, lijkt het uiterlijk van WordPerfect for Java sterk op dat van de nieuwste meer traditionele versies van het programma, zoals Wordperfect 7.0 voor Windows 95. De mogelijkheden zijn iets beperkter, maar dat heeft waarschijnlijk meer te maken met het feit dat het programma nog in ontwikkeling is, dan met iets anders. 

WordPerfect for Java wordt waarschijnlijk niet speciaal gemaakt voor gebruik over het Internet. Daarvoor is dat netwerk te traag. Wanneer u elke keer een half uur moet wachten voor het programma binnen is voor u een briefje kunt schrijven, heeft u waarschijnlijk al geen zin meer om dat briefje nog te schrijven. Meer nut zal een programma als dit waarschijnlijk hebben op een zogenaamd Intranet, een bedrijfsintern netwerk dat gebaseerd is op Internet-technologie. Steeds meer bedrijven gaan over tot de aanschaf van dit soort netwerken. Als een programma als WordPerfect op deze manier over het netwerk werkt, heeft dat grote voordelen. Alle gebruikers van het netwerk kunnen er gebruik van maken, of ze nu op een machine onder Windows 95 of op een Apple Macintosh werken. En nieuwe versies van het programma hoeven slechts één keer geïnstalleerd te worden -- op het netwerk. Alle computers van alle medewerkers zijn dan in een keer voorzien. 

Meer Java op het Web

In ieder geval in theorie kunt u alles wat u over Java zou kunnen willen weten, leren op het Web. Er zijn enkele grote sites die geheel aan het onderwerp gewijd zijn. Op de site van de Java Rating Service (Java-beoordelingsdienst, http://www.jars.com/) vindt u lijsten van de mooiste, interessantse en aardigste toepassingen van Java. De sites Gamelan (http://www.gamelan.com/) en Javaworld (http://www.javaworld.com) tenslotte, zijn een soort on-line tijdschriften met nieuws, tips en truuks, achtergrondartikelen, interessante voorbeelden enzovoort. 

ActiveX

ActiveX wordt door velen gezien als het antwoord van softwarefabrikant Microsoft (de leverancier van onder andere Windows 95) op Java. De werkelijkheid is echter iets ingewikkelder. Microsoft heeft namelijk een strategie die op twee fronten tegelijkertijd werkt. Enerzijds wordt Java niet alleen ingebouwd in de Internet Verkenner maar zelfs in de nieuwste versies van het besturingssysteem Windows 95 zodat het mogelijk wordt Java-programmaatjes te draaien buiten het Internet om. Op deze manier wordt elk mogelijk argument om van Windows af te stappen ten gunste van een op Java gebaseerd systeem bijvoorbaat de nek omgedraaid. Tegelijkertijd komt Microsoft met een systeem dat op zijn minst gedeeltelijk als een alternatief voor Java moet worden gezien; maar dan wel als een alternatief dat in eerste instantie exclusief onder Windows 95 draaide -- pas na zeer grote druk bleek het bedrijf bereid ook een versie voor de Apple Macintosh te leveren. 

ActiveX is gebaseerd op Microsofts zogenaamde OLE-techniek. OLE (Object Linking and Embedding) is van oudsher de manier waardoor verschillende programma's in een Windows-omgeving met elkaar kunnen communiceren; de techniek die het mogelijk maakt dat u bijvoorbeeld gegevens uit een database-programma kopieert naar uw tekstverwerker en die het mogelijk maakt dat u vanuit die tekstverwerker vervolgens het elektronische-postprogramma start. ActiveX breidt deze samenwerking van Windows-programma's uit naar het Internet. Een ActiveX component kan met een Web-pagina over het Internet worden verstuurd en vervolgens op het lokale systeem samenwerken met andere Windows-programma's. Zo kunnen bijvoorbeeld in Microsoft Word aangemaakte documenten worden opgenomen in een Web-pagina en kan de gebruiker deze documenten vervolgens zelfs bewerken in zijn Web-browser. Een ander voorbeeld is dat een Web-pagina wordt gekoppeld aan een nieuwsdienst zodat de gebruiker op elk moment dat hij een pagina opvraagt de meest actuele informatie krijgt gepresenteerd. Maar ook animaties of interactieve programma's kunnen in een ActiveX component worden verwerkt en dus via het Internet worden verstuurd. 

De verhouding tussen Java en ActiveX is tamelijk ingewikkeld. Aan de ene kant kunnen met behulp van de juiste ActiveX-component Java-modules worden aangeroepen door elk willekeurig Windows-programma. Aan de andere kant kunnen als het goed is in de nabije toekomst nieuwe ActiveX-componenten in Java worden ontwikkeld. 

Er zijn twee grote problemen met ActiveX. Ten eerste is deze techniek wel erg sterk gericht op slechts één platform: Windows 95. Een van de redenen voor het grote succes van het Internet was nu juist de platform-onafhankelijkheid. Ook het betrekkelijk recente succes van de hierboven genoemde intranets moet gedeeltelijk verklaard worden uit het feit dat op een dergelijk netwerk gemakkelijk een groot aantal verschillende systemen kunnen worden aangesloten. Op ActiveX-gebaseerde systemen zijn wat dat betreft weer een stapje terug, al moet gezegd worden dat zowel Microsoft als Netscape hebben aangekondigd dat hun programma's vanaf versie 4 ook ActiveX-modules zullen kunnen draaien op de Apple Macintosh. 

Het tweede probleem is mogelijk nog serieuzer. Veel kenners wijzen op de gaten die er in de beveilgingsstructuur van ActiveX te slaan zijn. Deze gaten hebben te maken met het feit dat Microsofts strategie op OLE gebaseerd is. Deze technologie is ontwikkeld met een indivduele personal computer in het achterhoofd, hoogstens gekoppeld aan een bedrijfs-intern netwerk. Dat is een situatie waarin beveiliging geen hoge prioriteit heeft. Elke OLE-component heeft daarom in principe onbeperkte toegang tot alle middelen van de computer -- van het intern geheugen tot en met de harde schijf. Er zijn op het Web nu al pagina's vinden die de computer van de gebruiker afsluiten als deze Microsoft Internet Explorer gebruikt. 

Nu hebben ActiveX-componenten zelf deze onbeperkte toegang niet, maar ze kunnen wel onbeperkt met andere OLE-componenten communiceren. Dat betekent dat ze andere Windows-programma's kunnen starten, die dan alsnog vervelend werk kunnen gaan doen. Niemand hoeft eraan te twijfelen dat virusschrijvers creatief genoeg zullen zijn om het destructieve potentieel van deze mogelijkheden ten volle uit te buiten. 

De manier waarop Microsoft de veiligheidsaspecten probeert op te lossen, is door middel van certificaten. Als het goed is komen er wereldwijd enkele betrouwbare instituten die aan elke ActiveX-toepassing een certificaat van betrouwbaarheid toekennen. Aan dat certificaat kan de gebruiker zien dat de ActiveX-component betrouwbaar is. Voordat een component wordt binnengehaald, wordt eerst het certificaat getoond: 

Het is vooralsnog in hoeverre deze methode werkelijk veilig is en of bijvoorbeeld ook deze certificaten niet te kraken zijn. 

Tegenover deze nadelen staat wel een voordeel. Doordat Microsofts technieken sterk op één platform gericht zijn kan de ontwerper wel technisch het onderste uit de kan van dat platform halen. Waar een ontwerper in Java altijd moet uitgaan van een soort grootste gemene deler van de verschillende systemen waarop zijn programma's moeten kunnen draaien, weet een ontwerper van ActiveX-component vrij precies voor wat voor een soort computer hij werkt en kan hij zich daar dus geheel op richten. 

Microsoft veroorlooft zich de luxe op twee paarden tegelijkertijd te wedden: het eigen paard en dat van de naaste concurrent. Zo moet je bijna wel winnen. Welk van de twee paarden uiteindelijk als eerste zal eindigen, blijft vooralsnog onduidelijk. 

Eerste Praktisch Voorbeeld van ActiveX: Microsoft Agent

Microsoft heeft zelf enkele van de meest interessante toepassingen voor de ActiveX-technolgie ontwikkeld. Het paradepaardje is de Microsoft Agent. Dit programma biedt een geheel nieuwe manier om met uw computer te werken. In plaats dat elk programma in een apart rechthoekig venster geplaatst is, verschijnt er een geest uit de fles die tegen u spreekt en die naar u luistert. De geest zweeft tussen alle vensters door: 

Wanneer u een microfoon aan uw computer bevestigt heeft kunt u bepaalde opdrachten aan de geest inspreken. Het interessante is nu dat degene die een Web-pagina maakt nieuwe opdrachten voor uw geest kan definiëren. Wanneer u dus op een Web-site aankomt, kan de geest nieuwe opdrachten uitvoeren. Hij kan u bijvoorbeeld uitleggen wat u op een site kunt doen, hij kan u aanwijzen waar u kunt klikken en naar welke gesproken opdrachten u luistert. Hij kan u helpen door een site te wandelen zonder dat u met uw handen aan het toetsenbord of de muis hoeft te zitten. Een overzicht van de Webpagina's die u kunt bekijken met behulp van de geest in de fles vindt u op het Internet-adres http://www.microsoft.com/ie/download/agent2.htm

Microsoft heeft grote plannen met de Agent. Naar verwachting zullen binnen niet al te lange tijd veel commerciële sites een dergelijk hulpje zullen bieden aan hun gebruikers. 

Tweede Praktisch Voorbeeld van ActiveX: Citrix WinFrame en Word Viewer

Een andere toepassing van ActiveX-technologie is WinFrame, waarmee Windows-programma's op afstand via het Internet kunnen worden gedraaid. Een ontwerper van een Web-pagina kan een willekeurig Windows-programma letterlijk opnemen in zijn ontwerp. Elk willekeurig Windows-programma kan de gebruiker daarmee op afstand besturen. Een eenvoudig -- reeds werkend -- voorbeeld is het Windows 95-programma Paintbrush. Dit programma kan worden opgenomen in een Web-pagina, zodat u online een tekening kunt maken (net als veel andere toepassingen van WinFrame is deze toepassing te vinden op de Web-site van het bedrijfje Citrix, de ontwikkelaar ervan: http://www.citrix.com/

Wanneer u Windows 95 gebruikt, kent u het tekenprogramma Paintbrush waarschijnlijk wel. Het wordt gratis met dit besturingssysteem meegeleverd. U zult er dan ook weinig behoefte aan hebben om dit programma over het Internet te gebruiken. Ook deze techniek lijkt dan ook vooral bedoeld voor zakelijke toepassingen binnen een bedrijfsintern netwerk, een intranet. Alle programma's die binnen een bedrijf gebruikt worden zullen waarschijnlijk binnen nu en enkele jaren alleen via het netwerk draaien. De firma Corel gokt er daarbij op dat WordPerfect via Java zal worden gebruikt. Microsoft en Citrix gaat er daarentegen vanuit dat Paintbrush en (binnen niet al te lange tijd) ook Microsoft Word via ActiveX verspreid zal worden. 

Ook aan zakelijke toepassingen wordt bij Citrix gewerkt. Zo levert het bedrijf nu al een kleine spreadshee-toepassing en een programma waarmee de gebruiker on-line een agenda kan bijhouden. 

Microsoft heeft overigens zelf een techniek ontwikkeld die enigszins doet denken aan WinFrames. Voor programma's als Word en de spreadsheet Excel heeft het namelijk zogenaamde Viewers gemaakt. Dit zijn programma's die zeer gemakkelijk kunnen samenwerken met bladerprogramma's, of in ieder geval met Microsofts eigen Internet Explorer, en die gratis over het Internet verspreid worden. Wanneer u op uw harde schijf bijvoorbeeld de Word Viewer geïnstalleerd heeft, kunt u in de Internet Explorer documenten bekijken die zijn aangemaakt met behulp van Word: 

Het programma heeft een beperkte functionaliteit: u kunt er Word-documenten mee van het Internet (of een intranet) halen, bekijken en doorzoeken, maar u kunt er geen nieuwe documenten in aanmaken. Daarvoor zal de gebruiker nog steeds naar de winkel moeten om een volledige versie van Microsoft Word te kopen -- of moeten wachten tot de systeembeheerder de versie geïnstalleerd heeft die gebruik maakt van een technologie als Citrix' WinFrame

Derde Praktisch Voorbeeld van ActiveX: Presentatie Persoonlijke Homepage

Een derde voorbeeld van een toepassing van ActiveX is de professionele presentatie van pagina's die er geboden worden. Een pagina die gebruik maakt van ActiveX-technologie kan er een stuk aantrekkelijker uitzien dan een pagina zonder enige vorm van interactiviteit. Microsoft geeft zelf een voorbeeld van deze professionalisering op de site van het Microsfot Network, MSN: http://www.msn.com/.Op deze site vindt u onder andere informatie van MSNBC, het Amerikaanse televisiestation dat het bedrijf heeft opgezet samen met de mediagigant NBC. Vierentwintig uur per dag is hier nieuws te vinden uit tal van categorieën -- van sport tot en met financiën, van nieuwe media tot en met internationale politiek. 

U kunt op deze site een eigen pagina aanmaken waarop u aangeeft welke categorieën zijn speciale belangstelling hebben en welke nieuwsbronnen u over die onderwerpen wilt raadplegen -- dat kan MSN zelf zijn, maar u kunt ook koppelingen leggen naar andere nieuwsbronnen op het Net. Als u wilt kunt u op deze pagina dus ook de NRC Handelsblad, De Telegraaf of De Limburger voor uzelf toegankelijk maken. Elke keer wanneer u een koppeling maakt naar de zojuist genoemde pagina van MSN, krijgt u het nieuws te zien over de onderwerpen die u interesseren, van de nieuwsbronnen waaraan u de voorkeur geeft. 

Tot zover is er weinig nieuws onder de zon -- er zijn op het Internet meer sites te vinden met een dergelijke functionaliteit (een bekend voorbeeld is Crayon op http://www.crayon.com/) en bovendien wordt er tot zover nog weinig ActiveX-technologie gebruikt. Die technologie is verwerkt in de manier waarop de informatie gepresenteerd wordt. De makers van de site zeggen zelf dat deze van 'CD-ROM-kwaliteit' is en dit mag enigszins op zijn Amerikaans overdreven zijn, maar erg ver ernaast zit het niet. Menu's ontrollen zich wanneer uw muis erover beweegt, de presentatie is fraai en soepel. Wie zijn modem niet af en toe hoort zoemen, vergeet inderdaad soms dat hij op datzelfde Internet zit dat er op sommige andere plaatsen nog zo primitief uitziet. 

ActiveX op het Web

De belangrijkste bron van informatie over het gebruik van ActiveX is -- natuurlijk -- de Web-site van Microsoft (http://www.microsoft.com/). Ook het eerder genoemde Gamelan (http://www.gamelan.com/) heeft een lange lijst met interessante koppelingen. 

JavaScript

Het ontbreekt op het Web niet aan standaarden. Naast Java en ActiveX is er nog een systeem waarop Web-pagina's wat minder statisch kunnen worden. Dat systeem heet JavaScript. De naam is wat verraderlijk. Hij suggereert een duidelijke relatie met Java, en hoewel de twee systemen wel iets met elkaar gemeenschappelijk hebben zijn er toch ook grote verschillen. Eén verschil is dat JavaScript veel beter kan samenwerken met 'gewone' Web-pagina's dan Java. Een ander verschil is dat het een stuk makkelijker te bedienen is. Men hoeft geen ervaren programmeur te zijn om er mee om te kunnen gaan, en JavaScript-toepassingen komt u her en der zelfs tegen op pagina's van particulieren. 

JavaScript is grotendeels een uitvinding van de firma Netscape. Het werd oorspronkelijk ontwikkeld onder de naam LiveScript als een systeem om een beperkte form van interactiviteit op Web-pagina's mogelijk te maken. Op het moment dat Java met groot succes geïntroduceerd werd, paste Netscape enkele kenmerken en de naam aan. Netscape Navigator kan vanaf versie 2 JavaScript verwerken. Het programma Internet Explorer kan dit vanaf versie 3, onder de naam JScript

Ook JavaScript-programma's zijn beveiligd en kunnen als het goed is weinig kwaad uitrichten. Er zijn in de loop van de afgelopen maanden weliswaar enkele vernuftige hackers geweest die gaten of gaatjes in de beveiliging meenden te hebben ontdekt, maar dezen werden door Netscape meestal snel gedicht. Alleen wanneer u nog werkt met Netscape 2.0 voor Windows moet u voor zover nu bekend echt uitkijken als u pagina's binnenlaadt die gebruik maken van JavaScript. Gebruikt u versie 2.01 of een hogere versie dan lijkt er vooralsnog weinig aan de hand. 

Een van de manieren waarop Netscape u beveiligt, is door duidelijk aan te geven wanneer een mededeling afkomstig is van een JavaScript: 

Sommige gebruikers schrikken nogal van de kreet JavaScript Alert die in dit kleine venstertje verschijnt, omdat hij hen doet denken aan een foutmelding. Dat is niet nodig. De boodschap staat er voor uw veiligheid. 

Een verleidelijk truukje voor kwaadwillige hackers is het schrijven van een soort nep-interface van bekende programma's. De gebruiker ziet een venster dat precies identiek is aan de vensters die hij kent van zijn eigen favoriete tekstverwerker. zijn spreadsheet of zijn e-mailprogramma. Dat venster nodigt hem uit zijn paswoord in te voeren. De gebruiker doet dit, maar in plaats dat zijn programma geopend wordt, wordt dit paswoord over het Internet verstuurd naar de hacker. 

Dat soort nep-programma's moet een hacker niet kunnen schrijven in JavaScript. Vandaar dat aan elk venstertje even een waarschuwing wordt toegevoegd: kijk uit wat u doet, geef geen vertrouwelijke informatie aan dit programma, want het komt van het Internet en het kan ook makkelijk communiceren met de buitenwereld. 

Eerste Praktisch Voorbeeld van JavaScript: Afstandsbediening

Een eenvoudig -- en redelijk veel voorkomend -- voorbeeld is de afstandsbediening. Steeds meer Web-sites bieden u een extra venster waarin u een overzicht ziet van de hele site. Door op de juiste plaats in dit venstertje te klikken, wordt in het grote venster de juiste pagina geopend. Op de al eerder genoemde site van het grote en innovatieve Wired-concern treft u hiervan een goed voorbeeld aan: 

Om dit mogelijk te maken, dienen de twee vensters met elkaar te kunnen communiceren: het grote venster moet op de een of andere manier weten dat u als gebruiker op een bepaalde plaats in het kleine venster geklikt heeft. Dat dit venster dat weet, danken we aan JavaScript. 

Tweede Praktisch Voorbeeld van JavaScript: Workshop Fotografie

Een zeer inventief en educatief gebruik van dezelfde techniek wordt gebruikt in de Workshop Fotografie. Op deze pagina's (http://home.pi.net/~pgoos/) leert de Nederlandse fotograaf Patrick Goossens u fotograferen. U krijgt op deze site als het ware een camera in handen. In een venster wordt uitgelegd hoe u deze camera dient te richten en te bedienen. In een ander venster kunt u deze tips proberen toe te passen: 

Ook voor deze site geldt dat u als het goed is nauwelijks merkt dat er iets bijzonders aan de hand is. Zo hoort het natuurlijk ook. Maar op de achtergrond snort wel degelijk JavaScript. 

Derde Praktisch Voorbeeld van JavaScript: Netris

We besluiten dit artikel met wat ontspanning. In alle drie de hier beschreven technieken kunnen ook spelletjes worden gemaakt. In alle drie de systemen gebeurt dat dan ook al in ruime mate. Ook met behulp van JavaScript zijn al behoorlijk wat Web-pagina's opgesierd met een spelletje. Een van de mooiste voorbeelden is het spelletje Netris, dat u kunt vinden op het adres http://www.geocities.com/SilliconValley/9000/netrisdeluxe1-1.html. De naam Netris is een samentrekking van de woorden Net en tetris

Het spel Netris werkt zoals Tetris. Er komen geometrische figuren naar beneden in een schacht. U moet proberen deze figuren zodanig te laten neervallen dat er op de bodem van de schacht rechte lijnen ontstaan. Zodra zo'n lijn ontstaat, verdwijnt deze en krijgt de gebruiker een punt. De bedoeling is uiteraard om zoveel mogelijk rechte lijnen te laten ontstaan. 

Tetris is een eenvoudig spelletje maar miljoenen spelers op de hele wereld hebben er uren aan besteed. Ook deze netversie zal ongetwijfeld het nodige plezier bezorgen. En bovendien kondigt het in al zijn eenvoud en frivoliteit een nieuw tijdvak aan, waarin Web-pagina's hun informatie niet langer statisch weergeven, maar waarin ze bewegen en wachten op invoer van de gebruiker. Of dat nu voor zakelijke toepassingen is of voor het plezier. 

Meer over JavaScript op het Internet

In het korte bestek van dit hoofdstuk hebt u alleen vluchtig kennis kunnen maken met enkele elementaire beginselen van JavaScript. Gelukkig is ook over dit systeem genoeg te leren op het Internet. De plaats om te beginnen is de site van Netscape (http://www.netscape.com/).Veel sites die over Java gaan, zoals Gamelan (http://www.gamelan.com), hebben ook een speciale afdeling die geheel gewijd is aan JavaScript, met voorbeelden van toepassingen, met tips en truuks en met nieuwtjes. Ook Netscape World (http://www.netscapeworld.com), een on-line tijdschrift over Netscape Navigator besteed regelmatig aandacht aan ontwikkelingen rond JavaScript.