Hopp til innhold

Node.js

Fra Wikipedia, den frie encyklopedi
Sideversjon per 20. des. 2016 kl. 14:55 av Kjetil r (diskusjon | bidrag) ({{Infoboks programvare}})
Node.js
Utvikler(e)OpenJS Foundation, Ryan Dahl
Utgitt 27. mai 2009[1]
Nyeste versjon23.11.0 (1. april 2025)[2]
Kodelagerhttps://github.com/nodejs/node
OperativsystemLinux, Mac, Windows
Skrevet iC++
TypeWebutvikling,[3] kjøremiljø
LisensMIT-lisensen[4]
Nettstednodejs.org (en)[5]
nodejs.org (fr)

Node.js er et åpent kryssplattform runtime-system for server- og nettverksapplikasjoner. Node.js-applikasjoner er skrevet i JavaScript. Programmet utvikles av Node.js Foundation, et samarbeidsprosjekt ved Linux Foundation.

Node.js bruker Google V8-motoren for JavaScript for å eksekvere kode, og en stor del av dens basismoduler er skrevet i JavaScript. Andre Node.js-moduler er skrevet i C og C++.

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

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

Støttede operativsystemer og datamaskinarkitekturer

Pr. versjon 4.4.5 LTS (mai 2016) 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.[9] Tredjeparts-pakkebehandlere tilbyr også Node.js for andre operativsystemer, for eksempel FreeBSD og NetBSD.[10]

Versjoner

Programmet ble lansert 27. mai 2007, og pr. mai 2016 er siste versjon 6.2.0.[11]

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

Pakkebehandleren npm

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

Referanser

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

Eksterne lenker