Node.js

Node.js er et åpent kryssplattform runtime-system for server- og nettverksapplikasjoner. Node.js eksekverer JavaScript-kode ved hjelp av Google V8-motoren, slik at JavaScript-programmer kan kjøre på servere.

En stor del av Node.js' basismoduler er skrevet i JavaScript, mens andre Node.js-moduler er skrevet i C og C++. Programmet utvikles av Node.js Foundation, et samarbeidsprosjekt ved Linux Foundation.

Bruksområder og Node.js-arkitekturen 

Node.js' hovedbruksområde er utvikling av server-programvare som er I/O-intensiv, der hastighet og skalerbarhet er viktige ikke-funksjonelle krav. Node.js løser dette gjennom en asynkron modell, der hele programmet kjører i én enkelt tråd. Når en I/O-operasjon tar lang tid (for eksempel fordi den skal oppdatere en database) venter ikke Node.js på at operasjonen skal fullføre, men går bare videre til å eksekvere neste kodelinje. Når I/O-operasjonen returnerer utløser den en callback-funksjon som så kan prosessere resultatet.

Node.js er en JavaScript-platform – en måte å kjøre JavaScript-programmer på. Node.js-rammeverket er imidlertid relativt «tynt» i seg selv, og det å skrive for eksempel en HTTP-server fra bunnen av i Node.js kan være unødvendig komplekst og tidkrevende. For ikke-trivielle applikasjoner bruker man derfor vanligvis ett eller flere andre JavaScript-rammeverk på topp av Node.js; for HTTP-servere brukes for eksempel vanligvis Express.js. For komplette web-applikasjoner bruker man gjerne MEAN-stacken: MongoDB, Express.js, AngularJS og Node.js. Felles for alle disse er at de er basert på JavaScript, noe som fører med seg at programvareutviklere kun trenger å forholde seg til ett programmeringsspråk når de utvikler en applikasjon, uansett hvilken komponent de jobber på.

Støttede operativsystemer og datamaskinarkitekturer 

Pr. versjon 10.15.0 LTS (januar 2019) publiserer Node.js Foundation pakker for OS X, Microsoft Windows og Linux. For sistnevnte finnes Node.js både for x86-arkitekturen, ARM, PowerPC og Linux on System z. Det finnes også en versjon for SunOs, og offisielle Docker-images for Node.js. Tredjeparts-pakkebehandlere tilbyr også Node.js for andre operativsystemer, for eksempel FreeBSD og NetBSD.

Versjoner 

Programmet ble lansert 27. mai 2007, og pr. januar 2019 er siste versjon 11.6.0. 

Med versjon 4.0.0 i september 2015 gjorde Node.js et større hopp i versjoneringen, fra 0.12. Grunnen var sammenslåingen med io.js, en Node.js-fork med utspring i et miljø som var misfornøyde med de daværende Node.js-forvalterne i selskapet Joyent. Da de to gruppene kom til enighet og slo sammen io.js og Node.js i 2015 bestemte de seg for å fortsette med io.js' versjoneringsregime, og den neste Node.js-utgaven fikk derfor betegnelsen 4.0.0.

Pakkebehandlerne npm og Yarn 

Node.js' pakkebehandler heter npm, og denne installeres automatisk sammen med Node.js. npm brukes til å holde orden på hvilke moduler og modul-versjoner et Node.js-program er avhengig av, og assisterer programvareutvikleren og systemoperatøren med å sørge for at samme modulversjoner kjøres under utvikling og i vanlig drift. Ved utgangen av 2014 var det  pakker tilgjengelig i det offisielle npm-arkivet.

Facebook lanserte i 2016 Yarn, som er en alternativ pakkebehandler til npm. Yarn er kompatibel med alle npm-pakker, men har enkelte endringer i arbeidsflyten for hvordan den installerer og holder rede på hvilke pakker som er installert.

Referanser

Eksterne lenker 
 

Internett
JavaScript