This article is currently in the process of being translated into Dutch (~98% done).
JavaScript and the webbrowser
Voor veel mensen zijn JavaScript en een webbrowser nauw met elkaar verbonden. En dat is logisch, aangezien JavaScript oorspronkelijk is gemaakt door het team achter de Netscape Navigator-webbrowser en uitsluitend op internet wordt gebruikt. Dit is ook de reden waarom JavaScript vaak een "veilige taal" wordt genoemd, omdat het in de meest gebruikelijke implementatie nooit toegang geeft tot het onderliggende bestandssysteem of iets dergelijks - in plaats daarvan is het meer een sandbox waar je "goede" dingen kunt doen die niet met het systeem te maken hebben.
Het is echter belangrijk op te merken dat JavaScript gemakkelijk buiten de webbrowser kan worden gebruikt. JavaScript maakt gebruik van een JavaScript-engine, of interpreter, om te worden uitgevoerd. Deze engine kan in een browser draaien, en dat doet hij in vrijwel elke moderne webbrowser die de mensheid kent, maar niets weerhoudt deze engine ervan om buiten een browser te draaien. In feite is dit al vele malen gedaan.
Node.js
Het meest opvallende voorbeeld hiervan is het Node.js project. Het werd in 2009 ontwikkeld en haalde in feite de JavaScript-engine uit de webbrowser en voegde modules toe om van JavaScript een universele programmeertaal te maken in plaats van een scripttaal voor de webbrowser. Dit zorgde voor een nieuwe en veel grotere interesse in JavaScript, omdat je je JavaScript-vaardigheden nu zowel voor het web (clientside) als voor serverside scripts kon gebruiken. En omdat Node.js platformoverschrijdend is, kon je je code ineens uitvoeren onder Windows, Linux, Unix en macOS, zonder dat je een browser nodig had.
The host environment
Dit alles leidt ons naar de discussie over de host-omgeving. De host-omgeving is waar jouw JavaScript wordt uitgevoerd, en meestal bevat het functionaliteit die niet direct in de JavaScript-taal te vinden is. Het meest voor de hand liggende voorbeeld hiervan is natuurlijk de webbrowser, die veel functionaliteit toevoegt, waardoor jouw JavaScript-code kan communiceren met de browser en de inhoud van de onderliggende website kan manipuleren.
Een andere hosting-omgeving zou Node.js kunnen zijn, die server-gerelateerde functionaliteit toevoegt, maar aangezien JavaScript oorspronkelijk is ontworpen om overal te kunnen draaien, zou dit ook je koffiezetapparaat kunnen zijn. Het zou gemakkelijk een JavaScript-engine kunnen bevatten en functionaliteit kunnen toevoegen met betrekking tot het maken van koffie en het aannemen van instructies van drukknoppen in plaats van een website.
Met of zonder browser?
Dus, zoals je kunt zien, kan JavaScript zeker buiten de webbrowser draaien. Dit is nu al zo en ik kan me alleen maar voorstellen dat de toenemende populariteit van JavaScript ervoor zal zorgen dat dit in de toekomst nog meer het geval zal zijn. Daarom is het belangrijk voor mij om te benadrukken dat we in deze tutorial eerst en vooral de JavaScript-taal leren.
In het eerste deel van deze tutorial zullen we ons dus richten op de taal zelf en niet te veel praten over de interactie met een browser. Met dat in gedachten zou het dom zijn om volledig te negeren hoe JavaScript met de webbrowser omgaat, omdat dit nog steeds zo'n veelvoorkomende toepassing is. Daarom is het laatste deel van deze tutorial gewijd aan precies dit onderwerp, waar we dieper ingaan op de banden tussen JavaScript en de webbrowser.
Een kleine waarschuwing voor de puristen onder ons: Hoewel we de browser buiten beschouwing laten tijdens het eerste deel van de tutorial, zul je merken dat ik een aantal functies gebruik die als browser-gerelateerd kunnen worden beschouwd. Een voorbeeld hiervan is de alert() functie, die een eenvoudig berichtvenster ( message box )in de browser toont. Ik gebruik deze functie omdat deze eenvoudig en gemakkelijk te begrijpen is in de voorbeelden die we in deze tutorial gebruiken, en omdat het een resultaat oplevert dat zichtbaar is als je de tutorial in een webbrowser leest en de voorbeelden direct vanaf de website uitvoert.
Samenvatting
JavaScript wordt vaak uitgevoerd in een webbrowser, maar niet altijd. In deze tutorial richten we ons eerst op de kern van JavaScript, zodat je de taal kunt leren. Later kijken we hoe JavaScript kan samenwerken met een webbrowser. We zullen echter voorbeelden laten zien waarin we een beetje interactie hebben met de browser, simpelweg omdat het makkelijk te begrijpen is en getest kan worden terwijl je de artikelen leest.