Node.js
Node.js | |||
---|---|---|---|
Utvikler(e) | OpenJS Foundation, Ryan Dahl | ||
Utgitt | 27. mai 2009[1] | ||
Nyeste versjon | 23.3.0 (20. november 2024)[2] | ||
Kodelager | https://github.com/nodejs/node | ||
Operativsystem | Linux Microsoft Windows BSD macOS Unix-liknende AIX Android iOS | ||
Skrevet i | C,[3] C++, JavaScript | ||
Type | Webutvikling,[4] kjøremiljø | ||
Lisens | MIT-lisensen[5] | ||
Nettsted | nodejs.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
[rediger | rediger kilde]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
[rediger | rediger kilde]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
[rediger | rediger kilde]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
[rediger | rediger kilde]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
[rediger | rediger kilde]- ^ «node-v0.x-archive on GitHub». Besøkt 2. september 2016.
- ^ «Release 23.3.0». 20. november 2024. Besøkt 23. november 2024.
- ^ «The node Open Source Project on Open Hub: Languages Page». Open Hub. Besøkt 18. oktober 2018.
- ^ https://hackernoon.com/node-js-emerging-as-the-universal-development-framework-for-a-diversity-of-applications-c2e788290f5f.
- ^ «node/LICENSE at master · nodejs/node · GitHub». Besøkt 27. november 2020.
- ^ api.github.com, besøkt 8. januar 2017[Hentet fra Wikidata]
- ^ Nguyen, Don (2012). Jump Start Node.js. SitePoint. ISBN 978-0-9873321-0-3. [kapittel 1 i ebok uten sideangivelse]
- ^ Brown, Ethan (2014). Web Development with Node and Express. O'Reilly Media. ISBN 978-1-4919-4930-6. [kapittel 1 i ebok uten sideangivelse]
- ^ 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]
- ^ «Downloads». Node.js Foundation. 2016. Besøkt 10. januar 2019.
- ^ «Installing Node.js via package manager». Node.js Foundation. 2016. Besøkt 31. mai 2016.
- ^ «Previous Releases». nodejs.org. Besøkt 10. januar 2019.
- ^ «Node.js says all is forgiven, welcomes io.js fork back into the fold». The Register. 9. september 2015. Besøkt 30. mai 2016.
- ^ «npm’s year in numbers: 2014». npmjs.org. 31. desember 2014. Besøkt 30. mai 2016.
- ^ Ihrig, Colin J. (2014). Pro Node.js for Developers. Apress. s. 9-10. ISBN 978-1-4302-5860-5.
- ^ «Yarn: A new package manager for JavaScript». Facebook. 11. oktober 2016. Besøkt 10. januar 2019.
Eksterne lenker
[rediger | rediger kilde]- (en) Offisielt nettsted
- (en) Node.js – kategori av bilder, video eller lyd på Commons
- (en) Node.js på GitHub
- Node.js på Mastodon
- Node.js på YouTube
- Node.js på X (tidligere Twitter)