Wat betekent Node.js?
Node.js is een server-side platform gebaseerd op de JavaScript-taal, ontworpen voor het ontwikkelen van schaalbare, event-driven applicaties. Dit kan zelfs ervaren programmeurs in verwarring brengen, omdat de traditionele JavaScript-omgeving altijd aan de clientzijde heeft gewerkt, in de browser van een gebruiker of in een applicatie die communiceert met een server. JavaScript wordt meestal niet geassocieerd met servertoepassingen die reageren op verzoeken van clients, maar dat is precies wat Node.js mogelijk maakt.
Node.js is niet geschreven in JavaScript (het is geschreven in C++), maar het maakt gebruik van de JavaScript-taal als een interpretatieve taal voor de verwerking van server-side request/response. In andere woorden, Node.js voert zelfstandige JavaScript-programma’s uit. Het voordeel hiervan is dat programmeurs hun huidige kennis van programmeren aan de clientzijde kunnen benutten en veel eenvoudiger kunnen beginnen met coderen in Node.js.
Techopedia legt Node.js uit
Node.js heeft een aantal kenmerken die het bijzonder aantrekkelijk maken voor netwerk– of internetprogrammering. Het eerste kenmerk heeft te maken met alle overhead en verpakking die bestaande technologieën gebruiken om gegevens heen en weer over het internet te verzenden.
Stel je voor dat je een klein pakketje binnen Europa verstuurt met PostNL en je houdt alle “containers” bij waarin je pakketje reist op weg naar de bestemming. Er zou een vrachtwagen zijn die alle pakketten naar een lokaal verwerkingscentrum brengt. In dit centrum staan grote bakken die met vorkheftrucks worden overgeheveld naar de vliegtuigcontainers die worden gebruikt voor het transport naar het bestemmingscentrum. En zodra het pakket aankomt, gebeurt het omgekeerde met andere pakketten die de andere kant op gaan.
Dit hele proces van verpakken en herverpakken is een tijdrovend en kostbaar proces, en dit is precies wat de huidige programmeertechnologieën zoals JSON en REST doen om gegevens over het internet te verplaatsen. Node.js vermindert deze herverpakking aanzienlijk en biedt een (lichtgewicht) manier om dezelfde taak uit te voeren.
Het tweede aantrekkelijke kenmerk van Node.js heeft betrekking op het eventmodel van webprogrammering. De meeste bestaande technologieën zijn ontworpen om “grote brokken” data te verwerken voor elk verzoek en antwoord. Met andere woorden, een hele pagina met gegevens kan naar een server worden gestuurd, zelfs als er slechts kleine wijzigingen zijn. Deze technologieën zijn geoptimaliseerd voor het verwerken van grotere brokken gegevens met minder gebeurtenissen. Node.js daarentegen werkt op een tegenovergestelde manier; het is ontworpen om te werken met meer interactiviteit, met kleinere stukjes gegevens die reageren op veel meer gebeurtenissen.