Node.js is een open source runtime waarmee je JavaScript buiten de browser kunt uitvoeren, bijvoorbeeld op een server of op je eigen computer. Een runtime is de omgeving die een programmeertaal kan uitvoeren. Zo kunnen ontwikkelaars met dezelfde taal zowel de voorkant als de achterkant van een website bouwen.
Waarvoor wordt het gebruikt
Node.js wordt gebruikt om de achterkant (de backend) van webapplicaties en API’s te bouwen. Het is ook de basis van veel hulpmiddelen waarmee frontend-code wordt gecontroleerd, samengevoegd en klaargemaakt voor publicatie.
Verder worden er scripts mee geschreven voor taken die vaak terugkomen, zoals het omzetten van bestanden of het verwerken van gegevens.
Belangrijkste kenmerken
- V8-engine: Node.js gebruikt dezelfde JavaScript-motor als de Chrome-browser.
- Gebeurtenisgestuurd: het programma kan veel verzoeken tegelijk afhandelen zonder te wachten op trage handelingen, zoals het lezen van een bestand of databasevraag.
- npm: een pakketbeheerder met een grote verzameling kant-en-klare onderdelen die ontwikkelaars in hun project opnemen.
Beperkingen en nuances
Node.js is geen framework en geen programmeertaal, maar een omgeving om JavaScript uit te voeren. Frameworks zoals Express worden er vaak bovenop gebruikt.
Standaard draait het eigenlijke rekenwerk op één draad. Zwaar rekenwerk is daarom minder geschikt, tenzij het slim wordt verdeeld. Wie veel externe pakketten gebruikt, moet die ook bijhouden en bijwerken.
Node.js en de browser
JavaScript in de browser en JavaScript in Node.js is dezelfde taal, maar de omgeving verschilt. In de browser heeft code toegang tot de pagina, de knoppen en het scherm van de bezoeker. In Node.js heeft code toegang tot bestanden, het netwerk en databases op de computer of server waarop het draait, maar niet tot een webpagina.