Node.JS

Node.js er en open source JavaScript-runtime på tværs af platforme, der kører på servere. Siden udgivelsen i 2009 er denne platform blevet ekstremt populær og spiller en meget vigtig rolle inden for webudvikling i disse dage.
For hele artiklen på Node.JS ...

Vis filter
Hosting filtre
A2 Themes & Host Me Filter

Operationssystem

Diskplads

RAM-hukommelse

Disk type

CPU-kerner

Sortere

Score - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Månedlige


Serverplaceringer


RedSwitches Servers in NetherlandsHolland RedSwitches Servers in UnionForenede Stater RedSwitches Servers in MelbourneAustralien RedSwitches Servers in MumbaiIndien RedSwitches Servers in GermanyTyskland
Sammenligne
Score - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Månedlige


Serverplaceringer


Hostarina Servers in UnionForenede Stater Hostarina Servers in RawalpindiPakistan Hostarina Servers in MunichTyskland
Sammenligne
Score - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Månedlige


Serverplaceringer


Net9 Oy Servers in StockholmSverige Net9 Oy Servers in HelsinkiFinland Net9 Oy Servers in ParisFrankrig
Sammenligne
Score - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Månedlige


Serverplaceringer


Heroku Servers in United StatesForenede Stater
Sammenligne
Score - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Månedlige

Sammenligne
Score - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /Månedlige


Serverplaceringer


Chemi Cloud Servers in BangaloreIndien Chemi Cloud Servers in New YorkForenede Stater Chemi Cloud Servers in BucharestRumænien Chemi Cloud Servers in LondonDet Forenede Kongerige Chemi Cloud Servers in AmsterdamHolland Chemi Cloud Servers in TorontoCanada Chemi Cloud Servers in SydneyAustralien
Sammenligne
Score - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Månedlige


Serverplaceringer


Oudel Servers in UnionForenede Stater
Sammenligne

 

Node.js

 

 

Node.js er en open source JavaScript-runtime på tværs af platforme, der kører på servere. Siden udgivelsen i 2009 er denne platform blevet ekstremt populær og spiller en meget vigtig rolle inden for webudvikling i disse dage. Hvis vi betragter antallet af stjerner, som et projekt har samlet på GitHub som en indikator for popularitet, er Node.js, som har mere end 50.000 stjerner, et meget, meget populært projekt.

 

Node.js-platformen er bygget på Googles V8 JavaScript-motor, som bruges i Google Chrome-browseren. Denne platform bruges hovedsageligt til at oprette webservere, men dens omfang er ikke begrænset til dette.

 

Lad os se på hovedfunktionerne i Node.js.

 

Hastighed

 

En af hovedattraktionerne i Node.js er hastighed. JavaScript-kode, der udføres i Node.js, kan være dobbelt så hurtig som kode skrevet på kompilerede sprog som C eller Java og størrelsesordener hurtigere end tolket sprog som Python eller Ruby. Årsagen til dette er platformens ikke-blokerende arkitektur, og de specifikke resultater afhænger af de anvendte benchmarks, men generelt er Node.js en meget hurtig platform.

 

Enkelhed

 

Node.js-platformen er let at lære og bruge. Faktisk er det ligefrem meget simpelt, især når man sammenligner med nogle andre serverplatforme.

 

JavaScript

 

JavaScript udføres i Node.js-miljøet. Dette betyder, at millioner af front-end-udviklere, der allerede bruger JavaScript i browseren, kan skrive både server-side og klientside-kode på det samme programmeringssprog uden at skulle lære et helt nyt værktøj til at flytte til server-side-udvikling.

 

Browseren og serveren bruger de samme sprogkoncepter. Derudover kan Node.js hurtigt skifte til nye ECMAScript-standarder, når de implementeres på platformen.

 

Det er ikke nødvendigt at vente på, at brugerne opdaterer deres browsere til dette, da Node.js er et server-miljø, der er fuldstændig i kontrol med udvikleren. Som et resultat bliver nye sprogfunktioner tilgængelige, når du installerer en understøttende version af Node.js.

 

V8 motor

 

Kernen i Node.js er blandt andet Googles open source V8 JavaScript-motor, der bruges i Google Chrome og andre browsere. Dette betyder, at Node.js drager fordel af tusindvis af ingeniører, der gjorde JavaScript Chrome-runtime utroligt hurtigt og fortsætter med at arbejde hen imod forbedring af V8.

 

Asynkroni

 

I traditionelle programmeringssprog (C, Java, Python, PHP) blokerer alle instruktioner som standard, medmindre udvikleren udtrykkeligt tager sig af at udføre koden asynkront. Som et resultat, hvis du f.eks. I et sådant miljø fremsætter en netværksanmodning om at downloade en eller anden JSON-kode, suspenderes udførelsen af ​​den strøm, hvorfra anmodningen sendes, indtil svaret modtages og behandles.

 

JavaScript gør det meget nemmere at skrive asynkron og ikke-blokerende kode ved hjælp af en enkelt tråd, tilbagekald og en begivenhedsdrevet tilgang til udvikling. Hver gang vi har brug for at udføre en tung operation, videresender vi en tilbagekaldelse til den relevante mekanisme, som kaldes op umiddelbart efter afslutningen af ​​denne operation. Som et resultat er der ingen grund til at vente på resultaterne af sådanne operationer for at programmet fortsætter med at arbejde.

 

En lignende mekanisme stammer fra browsere. Vi har ikke råd til at vente, siger, enAJAXanmodning om at afslutte uden at være i stand til at reagere på brugerhandlinger, såsom klik på knapper. For at gøre det bekvemt for brugerne at arbejde med websider skal alt, både download af data fra netværket og behandling af knap-klik, ske samtidigt i realtid.

 

Hvis du nogensinde har oprettet en hændelseshåndterer med et klik på en knap, har du allerede brugt asynkrone programmeringsteknikker.

 

Asynkrone mekanismer gør det muligt for en enkelt Node.js-server at håndtere tusindvis af forbindelser samtidigt uden at belaste programmøren med trådadministrations- og paralleludførelsesopgaver. Sådanne ting er ofte fejlkilder.

 

Node.js forsyner udvikleren med ikke-blokerende grundlæggende I / O-mekanismer, og generelt er de biblioteker, der bruges i Node.js-rammen, skrevet ved hjælp af ikke-blokerende paradigmer.Dette gør blokering af adfærd til undtagelsen snarere end normen.

 

Når Node.js skal udføre en I / O-handling, såsom at indlæse data fra netværket, få adgang til en database eller filsystemet, i stedet for at blokere hovedtråden og vente på resultaterne af en sådan operation, vil Node.js starte sin udførelse og fortsæt med at gøre andre ting, indtil resultaterne af denne operation er modtaget.

 

Biblioteker

 

Med den lethed og bekvemmelighed at arbejde med en pakkehåndtering til Node.js kaldet npm, blomstrer Node.js-økosystemet. Der er nu over en halv million open source-pakker i npm-registreringsdatabasen, som enhver Node.js-udvikler frit kan bruge.

 

Efter at have gennemgået nogle af hovedfunktionerne i Node.js-platformen, lad os prøve det i aktion. Lad os starte med installationen.

 

 

Node.js

 

 

Installation af Node.js

 

Node.js kan installeres på en række forskellige måder, som vi dækker et øjeblik. Så de officielle installationspakker til alle større platforme kan findes.

 

Der er en anden meget bekvem måde at installere Node.js på, nemlig at bruge pakkehåndteringen i operativsystemet. For eksempel kaldes macOS pakkehåndtering, som de facto er standard i dette område, Homebrew.

 

Hvis du har en på dit system, kan du installere Node.js ved at køre denne kommando på kommandolinjen:

 

bryginstallationsnode

 

En liste over pakkehåndtere til andre operativsystemer, inklusive Linux og Windows, kan findes her.

 

En populær Node.js version manager er nvm. Dette værktøj giver dig mulighed for nemt at skifte mellem forskellige versioner af Node.js, med dens hjælp kan du for eksempel installere og prøve en ny version af Node.js og derefter om nødvendigt vende tilbage til den gamle. Nvm er også nyttigt i en situation, hvor du har brug for at teste noget kode på en gammel version af Node.js.

 

For begyndere at bruge de officielle Node.js-installationsprogrammer. For macOS-brugere vil man anbefale at installere Node.js ved hjælp af Homebrew. Nu hvor du har installeret Node.js, er det tid til at skrive "Hello World".

 

Første Node.js-applikation

 

Det mest almindelige eksempel på et første Node.js-program er en simpel webserver. Her er dens kode:

const http = kræve ('http')

const hostname = '127.0.0.1'

const port = 3000

const server = http.createServer ((req, res) = & GT; {

res.statusCode = 200

res.setHeader ('Content-Type', 'text / plain')

res.end ('Hello World \ n')

})

server.listen (port, hostname, () = & gt; {

console.log (`Server, der kører på http: // $ {hostname}: $ {port} /`)

})

 

For at køre denne kode skal du gemme den i en filserver.js og køre følgende kommando i terminalen:

 

node server.js

 

For at kontrollere serveren skal du åbne en browser og indtaste i adresselinjen http://127.0.0.1:3000, det vil sige den serveradresse, der vises i konsollen efter den vellykkede lancering. Hvis alt fungerer som det skal, vil siden vise "Hello World".

 

Lad os se på dette eksempel.

 

Bemærk først, at koden indeholder kommandoen til at forbinde HTTP-modulet.

 

Node.js-platformen har et fremragende standardsæt af moduler, som inkluderer veludviklede mekanismer til at arbejde med netværket.

Objektmetoden createServer () http opretter en ny HTTP-server og returnerer den.

 

Serveren er konfigureret til at lytte på en bestemt port på en bestemt vært. Når serveren er klar, kaldes det tilsvarende tilbagekald, der informerer os om, at serveren kører.

Når serveren modtager en anmodning, udløses en begivenhed, der indeholder to objekter. Den første er anmodningen (req, http.IncomingMessage-objektet), den anden er svaret (res, http.ServerResponse-objektet). De er de vigtigste mekanismer til håndtering af HTTP-anmodninger.

 

Den første giver os oplysninger om anmodningen. I vores enkle eksempel bruger vi ikke disse data, men om nødvendigt ved hjælp af objektet kan reqyou få adgang til anmodningsoverskrifterne og de data, der sendes i det.

 

Det andet er nødvendigt for at danne og sende et svar på en anmodning.

 

I dette tilfælde danner vi svaret på anmodningen som følger. Først indstiller vi egenskabens statuskode til en værdi på 200, hvilket indikerer en vellykket operation:

 

res.statusCode = 200

Dernæst indstiller vi titlen Content-Type:

res.setHeader ('Content-Type', 'text / plain')

Vi afslutter derefter forberedelsen af ​​svaret ved at tilføje dets indhold som et argument til metoden slutningen ():

res.end ('Hello World \ n')

 

Vi har allerede nævnt, at der er dannet et stærkt økosystem omkring Node.js-platformen. Lad os nu diskutere nogle populære rammer og hjælperedskaber til Node.js.

 

Frameworks og Helper Tools til Node.js

 

Node.js er en platform på lavt niveau. For at forenkle udviklingen for det og gøre livet lettere for programmører er der oprettet et stort antal biblioteker. Nogle af dem er blevet meget populære over tid. Her er en lille liste over biblioteker, som jeg synes er godt udført og værd at udforske:

 

Express: Dette bibliotek giver udvikleren et ekstremt simpelt, men alligevel kraftfuldt værktøj til opbygning af webservere. Nøglen til Express's succes har været en minimalistisk tilgang og fokus på grundlæggende mekanismer på serversiden uden at forsøge at påtvinge en vision om "one-stop" serverarkitektur.

 

Meteor: Det er en stærk full-stack-ramme, der tager en isomorf tilgang til at udvikle JavaScript-applikationer og bruge kode på både klienten og serveren. Engang var Meteor et enkeltstående værktøj, der indeholder alt, hvad en udvikler kunne have brug for. Det integreres nu også med frontend-biblioteker som React, Vue og Angular. Udover at udvikle almindelige webapplikationer kan Meteor også bruges i mobiludvikling.

 

Koa: Denne webramme er bygget af det samme team bag Express. Baseret på mange års erfaring med Express blev den udviklet med fokus på enkelhed og kompaktitet. Dette projekt opstod som en løsning på problemet med at foretage større ændringer i Express, der er uforenelige med andre rammemekanismer, der kunne splitte samfundet.

 

Next.js: Denne ramme er designet til at organisere server-side gengivelse af React applikationer.

 

Micro: Det er et meget let bibliotek til opbygning af asynkrone HTTP-mikrotjenester.

Socket.io. Det er et bibliotek til udvikling af realtids netværksapplikationer.

 

Faktisk i Node.js-økosystemet kan du finde et hjælperbibliotek til næsten enhver opgave. Som du kan forestille dig, tager det meget tid at opbygge et sådant økosystem. Node.js-platformen dukkede op i 2009. I løbet af dens eksistens er der sket mange ting, der burde være kendt af en programmør, der ønsker at lære denne platform.

 

En kort historie om Node.js

 

Node.js er 9 år i år. Dette er naturligvis ikke så meget, når du sammenligner denne alder med JavaScript-alderen, som allerede er 23 år gammel, eller med 25-årsalderen på nettet, som vi kender det, hvis du regner med fra mosaikens fremkomst browser.

 

9 år er kort tid for teknologi, men nu ser det ud til, at Node.js-platformen altid har eksisteret.

 

Med Node.js fra tidlige versioner af platformen, da den kun var 2 år gammel. Selv da, på trods af at der ikke var så meget information om Node.js, kunne man allerede føle, at Node.js er meget seriøs.

 

Lad os nu tale om teknologierne bag Node.js og kigge hurtigt påvigtigste udviklinger relateret til denne platform.

 

Så JavaScript er et programmeringssprog, der blev oprettet i Netscape som et script-sprog til manipulation af websider i Netscape Navigator-browseren.

En del af Netscapes forretning var salg af webservere, som omfattede et miljø kaldet Netscape LiveWire. Det tillod dig at oprette dynamiske websider ved hjælp af JavaScript på serversiden.

 

ideen om at bruge JS til udvikling af serversiden er meget ældre end Node.js. Denne idé er næsten lige så gammel som selve JavaScript, men på det pågældende tidspunkt var JS på serversiden ikke populær.

 

En af de nøglefaktorer, der gjorde Node.js-platformen så udbredt og populær er, da den første gang dukkede op. Så nogle år tidligere var JavaScript begyndt at betragtes som et seriøst sprog. Dette skete takket være Web 2.0-applikationer som Google Maps eller Gmail, som viste verden styrken ved moderne webteknologier.

 

Takket være den konkurrencedygtige browserkrig, der fortsætter den dag i dag, er JavaScript-motorernes ydeevne steget markant. Udviklingsteamene bag de store browsere arbejder hver dag for at forbedre ydelsen af ​​deres løsninger, hvilket har en gavnlig effekt på JavaScript generelt.

 

En sådan motor er den allerede nævnte V8, der bruges i Chrome-browseren og bruges i Node.js. Det er et af resultaterne fra browserudviklere, der stræber efter højtydende JavaScript-kode.

 

Selvfølgelig er Node.js 'popularitet ikke kun baseret på en heldig tilfældighed og på det faktum, at platformen blev født på det rigtige tidspunkt. Hun introducerede verden til en innovativ tilgang til JavaScript-udvikling på serversiden. Lad os se på de store milepæle i Node.js.'s historie.

 

2009


  • Fremkomsten af ​​Node.js

  • At lave den første npm-variant.

 

2010

  • Expressens udseende.

  • Fremkomsten af ​​Socket.io.

 

2011


  • Npm 1.0 frigivelse.

  • Store virksomheder som LinkedIn og Uber er begyndt at bruge Node.js.

 

2012


  • Den hurtige stigning i popularitet af Node.js.

 

2013


  • Fremkomsten af ​​Ghost, den første store platform for publikationer, der bruger Node.js.

  • Koa frigivelse.

 

2014


  • Dramatiske begivenheder har fundet sted i år. IO.js-projektet dukkede op, som er en fork af Node.js, hvis formål blandt andet var at indføre ES6-support og fremskynde udviklingen af ​​platformen.

 

2015


  • Node.js Foundation er grundlagt.

  • Fletning af IO.js og Node.js.

  • I npm bliver det muligt at arbejde med private moduler.

  • Yield Node.js 4 (det skal bemærkes, at version 1, 2 og 3 fra platformen ikke var).

 

2016


  • Venstre-pad pakke hændelse.

  • Fremkomsten af ​​garn.

  • Node.js 6 frigivelse.

 

2017


  • Npm begynder at være mere opmærksom på sikkerheden.

  • Node.js 8 frigivelse

  • Fremkomsten af ​​understøttelse af HTTP / 2.

  • V8 er officielt anerkendt som en JS-motor designet ikke kun til Chrome, men også til Node.

  • Der er 3 milliarder npm downloads hver uge.

 

2018


  • Node.js 10 frigivelse.

  • Understøttelse af ES-moduler.

  • Eksperimentel mjs-support.