Node.js

I Node.js-verdenen har det alltid vært en konstant og stadig utviklende interesse. Enten vi snakker om en historisk skikkelse, et kulturelt fenomen eller et vitenskapelig tema, har Node.js satt sitt preg på menneskeheten på en eller annen måte. Dens innflytelse har spredt seg over tid og fortsetter å påvirke i dag. I denne artikkelen vil vi se nærmere på viktigheten av Node.js og hvordan det har formet samfunnet vårt, samt implikasjonene det har for fremtiden. Fra begynnelsen til i dag har Node.js generert utallige diskusjoner, debatter og studier som søker å forstå dens omfang og betydning i menneskers liv.
Node.js
Utvikler(e)OpenJS Foundation, Ryan Dahl
Utgitt 27. mai 2009[1]
Nyeste versjon22.7.0 (22. august 2024)[2]
Kodelagerhttps://github.com/nodejs/node
OperativsystemLinux Microsoft Windows BSD macOS Unix-liknende AIX Android iOS
Skrevet iC,[3] C++, JavaScript
TypeWebutvikling,[4] kjøremiljø
LisensMIT-lisensen[5]
Nettstednodejs.org (en)[6]
nodejs.org (fr)

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.[7]

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å.[8][9]

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.[10] Tredjeparts-pakkebehandlere tilbyr også Node.js for andre operativsystemer, for eksempel FreeBSD og NetBSD.[11]

Versjoner

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

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.[13]

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 ca. 115 000 pakker tilgjengelig i det offisielle npm-arkivet.[14][15]

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.[16]

Referanser

  1. ^ «node-v0.x-archive on GitHub». Besøkt 2. september 2016. 
  2. ^ «Release 22.7.0». 22. august 2024. Besøkt 23. august 2024. 
  3. ^ «The node Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 18. oktober 2018. 
  4. ^ https://hackernoon.com/node-js-emerging-as-the-universal-development-framework-for-a-diversity-of-applications-c2e788290f5f.
  5. ^ «node/LICENSE at master · nodejs/node · GitHub». Besøkt 27. november 2020. 
  6. ^ api.github.com, besøkt 8. januar 2017
  7. ^ Nguyen, Don (2012). Jump Start Node.js. SitePoint. ISBN 978-0-9873321-0-3.  
  8. ^ Brown, Ethan (2014). Web Development with Node and Express. O'Reilly Media. ISBN 978-1-4919-4930-6.  
  9. ^ Hahn, Evan M. (2016). Express in Action: Writing, building, and testing Node.js applications. Manning Publications. ISBN 978-1-61729-242-2.  
  10. ^ «Downloads». Node.js Foundation. 2016. Besøkt 10. januar 2019. 
  11. ^ «Installing Node.js via package manager». Node.js Foundation. 2016. Besøkt 31. mai 2016. 
  12. ^ «Previous Releases». nodejs.org. Besøkt 10. januar 2019. 
  13. ^ «Node.js says all is forgiven, welcomes io.js fork back into the fold». The Register. 9. september 2015. Besøkt 30. mai 2016. 
  14. ^ «npm’s year in numbers: 2014». npmjs.org. 31. desember 2014. Besøkt 30. mai 2016. 
  15. ^ Ihrig, Colin J. (2014). Pro Node.js for Developers. Apress. s. 9-10. ISBN 978-1-4302-5860-5. 
  16. ^ «Yarn: A new package manager for JavaScript». Facebook. 11. oktober 2016. Besøkt 10. januar 2019. 

Eksterne lenker