Wat is NodeJS en waarom is het zo populair?
Madelief
Wie bekend is in de wereld van programmeren heeft ongetwijfeld de naam NodeJS voorbij zien komen. Maar wat is het precies en waarom is het zo populair? Wij leggen het je uit!
WAT IS NODEJS?
Misschien is het in dit geval handiger om te beginnen met de vraag: wat is NodeJS niet? Het is géén programmeertaal en het is ook géén framework. Ook is het niet alleen voor de backend van een applicatie. Wat is het dan wel?
Node.js is een open-source cross-platform JavaScript runtime environment. Een hele mond vol, maar het klinkt ingewikkelder dan het is. JavaScript is een bekende en zeer populaire programmeertaal voor websites. NodeJS is een ontwikkelomgeving die het mogelijk maakt om JavaScript te gebruiken buiten de browser, bijvoorbeeld op een server. Zo kan JavaScript worden gebruikt voor het programmeren van zowel frontend als backend.
Het feit dat NodeJS cross-platform is, geeft aan dat je het op verschillende besturingssystemen kan gebruiken zoals op Windows, Linux en Apple. Dat het open-source is geeft aan dat de broncode van Node.js vrij beschikbaar is en door iedereen mag worden gebruikt en/of aangepast.
WAT ZIJN DE VOORDELEN VAN NODEJS, WAAROM IS HET ZO POPULAIR?
Er zijn veel voordelen die het aantrekkelijk maken om NodeJS te gebruiken. Het allerbelangrijkste daarvan is dat het je in staat stelt om JavaScript te gebruiken voor de ontwikkeling van de frontend en backend van je website of applicatie. Je hoeft dus maar één programmeertaal te kennen om je complete applicatie te schrijven!
NodeJS maakt gebruik van een single-threaded event loop. Hierdoor kan je meerdere taken tegelijkertijd uitvoeren, terwijl er (in vergelijking met traditionele programmeertalen) minder geheugen wordt gebruikt. Dit leidt tot een hogere snelheid en dus een snellere applicatie. Deze combinatie maakt NodeJS erg geschikt voor realtime applicaties, zoals applicaties met chats, push-meldingen en live updates. Ook complexe Single Page Applications (SPA’s) zijn goed te bouwen en onderhouden met NodeJS.
WIE GEBRUIKT HET EN WANNEER?
Iedereen die weet hoe JavaScript werkt, is in staat om met NodeJS te werken. Maar in welke situaties is NodeJS de optimale oplossing?
Zoals eerder werd vermeld is NodeJS ideaal voor complexe Single Page Applications en realtime applicaties. Dan kan je bijvoorbeeld denken aan het maken van een chatbot voor een online shop of een applicatie of website waarop je het laatste nieuws direct doorkrijgt.
Een andere situatie waarvoor Node.js zeer geschikt is, is voor streamingdiensten. Niet alleen is NodeJS licht en snel, maar het beschikt ook over een native streaming API waarmee het eenvoudig wordt gemaakt deze diensten te gebruiken.
Over API’s gesproken; omdat Node.js zowel voor de frontend als backend te gebruiken is, is het een goede tool wanneer je gebruik wilt maken van REST API’s.
ALTERNATIEVE OPTIES
Ondanks de vele voordelen van NodeJS, kunnen er toch situaties zijn waarin een alternatief meer geschikt is dan NodeJS zelf. Dan is het goed om te weten wat je mogelijkheden zijn.
– ASP.NET: Ook open-source en cross-platform, met opties voor zowel front- als backend. Maakt geen gebruik van JavaScript, maar van C# of F#.
– Deno: Gebouwd op dezelfde V8 JavaScript engine die ook wordt gebruikt in NodeJS. Kan zowel met JavaScript als TypeScript worden gebruikt. Maakt geen gebruik van een package manager, maar modules die via een URL worden geïmporteerd. Focus op security out of the box. Fun Fact: Deno is geschreven door dezelfde ontwikkelaar die ook aan de wieg stond van NodeJS, Ryan Dahl.
WDE NPM PACKAGE MANAGER
NPM, of Node Package Manager zoals het voluit heet, is de standaard package manager voor Node.js. Deze wordt dan ook automatisch geïnstalleerd wanneer je NodeJS installeert. Binnen NPM zijn meer dan 1,3 miljoen libraries te vinden die het leven van een programmeur een stuk makkelijker maken. Een enorme hoeveelheid dus!
De command line client maakt het kinderspel om libraries of modules in je project te integreren en te beheren. Daarnaast is het ook mogelijk om via de website van NPM in NPM Registry te zoeken naar de packages die nodig zijn.
ALTERNATIEVE OPTIES VOOR NPM
Hoewel NPM de standaard package manager is die wordt meegeleverd met Node.js, zijn er verschillende alternatieven die je kunt overwegen. Enkele populaire alternatieve package managers voor Node.js zijn:
– Yarn
– ied
– pnpm
– npmd
Het voordeel van deze alternatieven is dat ze allemaal compatibel zijn met de publieke NPM Registry. Standaard maken ze gebruik van dezelfde database. Het belangrijkste verschil zit hem met name in het ontwerp van de package manager: elke package manager probeert op zijn eigen manier het gebruik te optimaliseren. Zo kan iedereen een package manager voor Node.js vinden die aan zijn of haar eisen voldoet.
Wil jij werken met NodeJS? Bekijk hier ons vacatureaanbod