Node.JS

Node.js är en öppen källkod, cross-platform JavaScript runtime som körs på servrar. Sedan lanseringen 2009 har denna plattform blivit extremt populär och spelar en mycket viktig roll inom webbutveckling idag.
För hela artikeln på Node.JS ...

Visa filter
Värdfilter
A2 Themes & Host Me Filter

Operationssystem

Disk utrymme

RAM-minne

Disk typ

CPU-kärnor

Sortera

Trust Pilot Dream Host
Betyg - 9.7
Dream Host Logo
Dream Host

Drömvärd

DreamObjects 40 GB
$0.95 /En gång i månaden

Recensioner 3778

29 Kuponger

Serverplatser


Dream Host Servers in AshburnFörenta staterna
Jämföra
Trust Pilot ICDSoft
Betyg - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - Europe
$8 /En gång i månaden

Recensioner 233


Serverplatser


ICDSoft Servers in Sofiabulgarien ICDSoft Servers in BostonFörenta staterna ICDSoft Servers in Hong KongHong Kong
Jämföra
Trust Pilot ICDSoft
Betyg - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - USA
$8 /En gång i månaden

Recensioner 233


Serverplatser


ICDSoft Servers in Sofiabulgarien ICDSoft Servers in BostonFörenta staterna ICDSoft Servers in Hong KongHong Kong
Jämföra
Betyg - 9
A2hosting Logo
A2hosting

A2hosting

Lite
$3.92 /En gång i månaden

50 Kuponger

Serverplatser


A2hosting Servers in Amsterdamnederländerna A2hosting Servers in MichiganFörenta staterna A2hosting Servers in SingaporeSingapore
Jämföra
Trust Pilot Keliweb
Betyg - 9.8
Keliweb Logo
Keliweb

Keliweb

Prime
$5.51 /En gång i månaden

Recensioner 453


Serverplatser


Keliweb Servers in MilanoItalien
Jämföra
Trust Pilot JustHostMe
Betyg - 9.4
JustHostMe Logo
JustHostMe

JustHostMe

Starter
$3.11 /En gång i månaden

Recensioner 72


Serverplatser


JustHostMe Servers in United KingdomStorbritannien
Jämföra
Trust Pilot Dream VPS
Betyg - 8.6
Dream VPS Logo
Dream VPS

Dröm VPS

STARTER
$3.75 /En gång i månaden

Recensioner 7


Serverplatser


Dream VPS Servers in Hong KongHong Kong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkFörenta staterna Dream VPS Servers in LondonStorbritannien Dream VPS Servers in Amsterdamnederländerna Dream VPS Servers in FrankfurtTyskland Dream VPS Servers in IsraelIsrael
Jämföra
Trust Pilot Reseller Cube
Betyg - 8
Reseller Cube Logo
Reseller Cube

Återförsäljarkub

Basic USA
$5 /En gång i månaden

Recensioner 4


Serverplatser


Reseller Cube Servers in RaleighFörenta staterna
Jämföra
Trust Pilot Univa Host
Betyg - 8
Univa Host Logo
Univa Host

Univa värd

E-ECONOMY
$2.99 /En gång i månaden

Recensioner 3


Serverplatser


Univa Host Servers in GermanyTyskland Univa Host Servers in United StatesFörenta staterna
Jämföra
Trust Pilot OperaVPS
Betyg - 7.8
OperaVPS Logo
OperaVPS

OperaVPS

Linux 512MB
$7.99 /En gång i månaden

Recensioner 3


Serverplatser


OperaVPS Servers in United KingdomStorbritannien OperaVPS Servers in Austriaösterrike OperaVPS Servers in Canadakanada OperaVPS Servers in DenmarkDanmark OperaVPS Servers in FranceFrankrike OperaVPS Servers in GermanyTyskland OperaVPS Servers in ItalyItalien OperaVPS Servers in Netherlandsnederländerna OperaVPS Servers in Romaniarumänien OperaVPS Servers in United StatesFörenta staterna
Jämföra
Trust Pilot L3Web Hosting
Betyg - 7.6
L3Web Hosting Logo
L3Web Hosting

L3Web Hosting

START UP
$1.99 /En gång i månaden

Recensioner 2


Serverplatser


L3Web Hosting Servers in IndiaIndien L3Web Hosting Servers in MunichTyskland L3Web Hosting Servers in MiamiFörenta staterna L3Web Hosting Servers in SingaporeSingapore L3Web Hosting Servers in United KingdomStorbritannien
Jämföra
Trust Pilot Idea Stack
Betyg - 7.4
Idea Stack Logo
Idea Stack

Idéstack

LEVEL 1
$2 /En gång i månaden

Recensioner 2


Serverplatser


Idea Stack Servers in SeattleFörenta staterna
Jämföra
Trust Pilot Epic Host
Betyg - 7.4
Epic Host Logo
Epic Host

Episk värd

Cloud hosting
$2.37 /En gång i månaden

Recensioner 1


Serverplatser


Epic Host Servers in New DelhiIndien Epic Host Servers in UnionFörenta staterna
Jämföra
Trust Pilot itanets.co.uk
Betyg - 7
itanets.co.uk Logo
itanets.co.uk

itanets.co.uk

JSP HOSTING 1
$5.19 /En gång i månaden

Recensioner 2

Jämföra
Trust Pilot Digital Ocean
Betyg - 3.8
Digital Ocean Logo
Digital Ocean

Digital Ocean

$5 /mo
$5 /En gång i månaden

Recensioner 214

38 Kuponger

Serverplatser


Digital Ocean Servers in IndiaIndien Digital Ocean Servers in New YorkFörenta staterna Digital Ocean Servers in Amsterdamnederländerna Digital Ocean Servers in LondonStorbritannien Digital Ocean Servers in Torontokanada Digital Ocean Servers in Frankfurt am MainTyskland Digital Ocean Servers in SingaporeSingapore
Jämföra
Betyg - 10
HOST PRO KE Logo
HOST PRO KE

VÄRD PRO KE

Host Pro Starter
$9.38 /Årlig


Serverplatser


HOST PRO KE Servers in GermanyTyskland
Jämföra
Betyg - 9.4
Accu WebHosting Logo
Accu WebHosting

Accu WebHosting

Windows Personal Web Hosting
$2.99 /En gång i månaden

19 Kuponger

Serverplatser


Accu WebHosting Servers in FranceFrankrike Accu WebHosting Servers in DenverFörenta staterna Accu WebHosting Servers in MumbaiIndien Accu WebHosting Servers in Amsterdamnederländerna Accu WebHosting Servers in Frankfurt am MainTyskland Accu WebHosting Servers in SydneyAustralien Accu WebHosting Servers in LondonStorbritannien Accu WebHosting Servers in Polandpolen Accu WebHosting Servers in Canadakanada Accu WebHosting Servers in SingaporeSingapore
Jämföra
Betyg - 9
Be hostings Logo
Be hostings

Var värd

StarterSSL
$3.36 /En gång i månaden


Serverplatser


Be hostings Servers in Brusselsbelgien
Jämföra
Betyg - 4.3
Gear Host Logo
Gear Host

Gear värd

CloudSite Hobby
$5 /En gång i månaden


Serverplatser


Gear Host Servers in DenverFörenta staterna
Jämföra
Betyg - 1
Mikro VPS Logo
Mikro VPS

Mikro VPS

VPS SSD 1
$4.39 /En gång i månaden


Serverplatser


Mikro VPS Servers in BudapestUngern
Jämföra
Betyg - 0
Simple Node Logo
Simple Node

Enkel nod

OpenVZ - 256MB
$3 /En gång i månaden

Jämföra

 

Node.js

 

 

Node.js är en öppen källkod, cross-platform JavaScript runtime som körs på servrar. Sedan lanseringen 2009 har denna plattform blivit extremt populär och spelar en mycket viktig roll inom webbutveckling idag. Om vi ​​betraktar antalet stjärnor som ett projekt har samlat på GitHub som en indikator på popularitet, är Node.js, som har mer än 50 000 stjärnor, ett mycket, mycket populärt projekt.

 

Node.js-plattformen är byggd på Googles V8 JavaScript-motor, som används i webbläsaren Google Chrome. Denna plattform används främst för att skapa webbservrar, men dess omfattning är inte begränsad till detta.

 

Låt oss titta på huvudfunktionerna i Node.js.

 

Fart

 

En av huvudattraktionerna för Node.js är hastighet. JavaScript-kod som körs i Node.js kan vara dubbelt så snabb som kod skriven på kompilerade språk som C eller Java och storleksordningar snabbare än tolkade språk som Python eller Ruby. Anledningen till detta är plattformens icke-blockerande arkitektur, och de specifika resultaten beror på vilka referensvärden som används, men totalt sett är Node.js en mycket snabb plattform.

 

Enkelhet

 

Node.js-plattformen är lätt att lära sig och använda. I själva verket är det direkt mycket enkelt, särskilt jämfört med vissa andra serverplattformar.

 

JavaScript

 

JavaScript körs i Node.js-miljön. Det betyder att miljontals front-end-utvecklare som redan använder JavaScript i webbläsaren kan skriva både serversidan och klientsidan på samma programmeringsspråk utan att behöva lära sig ett helt nytt verktyg för att gå vidare till serversidan.

 

Webbläsaren och servern använder samma språkbegrepp. Dessutom kan Node.js snabbt övergå till nya ECMAScript-standarder när de implementeras på plattformen.

 

Det finns ingen anledning att vänta på att användare ska uppdatera sina webbläsare för detta eftersom Node.js är en servermiljö som har fullständig kontroll över utvecklaren. Som ett resultat blir nya språkfunktioner tillgängliga när du installerar en stödjande version av Node.js.

 

V8-motor

 

Kärnan i Node.js är bland annat Googles V8 JavaScript-motor med öppen källkod, som används i Google Chrome och andra webbläsare. Detta innebär att Node.js utnyttjar tusentals ingenjörer som gjorde JavaScript Chrome-körtiden oerhört snabb och fortsätter att arbeta för att förbättra V8.

 

Asynkroni

 

I traditionella programmeringsspråk (C, Java, Python, PHP) blockeras alla instruktioner som standard, såvida inte utvecklaren uttryckligen tar hand om att köra koden asynkront. Som ett resultat, om du till exempel i en sådan miljö gör en nätverksförfrågan om att ladda ner en del JSON-kod, kommer körningen av den ström från vilken begäran görs att avbrytas tills svaret tas emot och behandlas.

 

JavaScript gör det mycket lättare att skriva asynkron och icke-blockerande kod med en enda tråd, återuppringningar och en händelsestyrd strategi för utveckling. Varje gång vi behöver utföra en tung operation skickar vi en återuppringning till lämplig mekanism, som kommer att anropas omedelbart efter avslutad operation. Som ett resultat finns det ingen anledning att vänta på resultaten av sådana operationer för att programmet ska fortsätta arbeta.

 

En liknande mekanism har sitt ursprung i webbläsare. Vi har inte råd att vänta, säg, på enAJAXbegäran om att slutföra utan att kunna svara på användaråtgärder, till exempel knappklick. För att göra det bekvämt för användare att arbeta med webbsidor måste allt, både nedladdning av data från nätverket och bearbetning av knappklick, ske samtidigt i realtid.

 

Om du någonsin har skapat en knappklickningshändelsehanterare har du redan använt asynkron programmeringsteknik.

 

Asynkrona mekanismer gör det möjligt för en enda Node.js-server att samtidigt hantera tusentals anslutningar utan att belasta programmeraren med trådhantering och parallella kodkörningsuppgifter. Sådana saker är ofta felkällor.

 

Node.js förser utvecklaren med icke-blockerande grundläggande I / O-mekanismer, och i allmänhet skrivs biblioteken som används i Node.js-ramverket med hjälp av icke-blockerande paradigmer.Detta gör blockerande beteende till undantag snarare än normen.

 

När Node.js behöver utföra en I / O-operation, till exempel att ladda data från nätverket, komma åt en databas eller filsystemet, istället för att blockera huvudtråden och vänta på resultaten av en sådan operation, kommer Node.js att starta sin körning och fortsätt att göra andra saker tills resultaten av denna operation har mottagits.

 

Bibliotek

 

Med den lätthet och bekvämlighet att arbeta med en pakethanterare för Node.js som heter npm, är Node.js ekosystem blomstrande. Det finns nu över en halv miljon öppen källkodspaket i npm-registret som alla Node.js-utvecklare fritt kan använda.

 

Efter att ha granskat några av huvudfunktionerna på Node.js-plattformen, låt oss prova det i handling. Låt oss börja med installationen.

 

 

Node.js

 

 

Installerar Node.js

 

Node.js kan installeras på en mängd olika sätt, som vi kommer att täcka om ett ögonblick. Så de officiella installationspaketen för alla större plattformar finns.

 

Det finns ett annat mycket bekvämt sätt att installera Node.js, det vill säga att använda pakethanteraren som tillhandahålls i operativsystemet. Till exempel kallas macOS-pakethanteraren, som är de facto-standarden inom detta område, Homebrew.

 

Om du har en på ditt system kan du installera Node.js genom att köra det här kommandot på kommandoraden:

 

brygginstallationsnod

 

En lista över pakethanterare för andra operativsystem, inklusive Linux och Windows, finns här.

 

En populär Node.js version manager är nvm. Med det här verktyget kan du enkelt växla mellan olika versioner av Node.js, med hjälp kan du till exempel installera och prova en ny version av Node.js och sedan, vid behov, återgå till den gamla. Nvm är också användbart i en situation där du behöver testa lite kod på en gammal version av Node.js.

 

För nybörjare att använda de officiella Node.js-installatörerna. För macOS-användare rekommenderar man att du installerar Node.js med Homebrew. Nu när du har installerat Node.js är det dags att skriva "Hello World".

 

Första Node.js-applikationen

 

Det vanligaste exemplet på ett första Node.js-program är en enkel webbserver. Här är dess kod:

const http = kräver ('http')

const värdnamn = '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, värdnamn, () = & gt; {

console.log (`Server som körs på http: // $ {hostname}: $ {port} /`)

})

 

För att köra den här koden, spara den i en filserver.js och kör följande kommando i terminalen:

 

nodserver.js

 

För att kontrollera servern, öppna en webbläsare och skriv in adressfältet http://127.0.0.1:3000, det vill säga serveradressen som kommer att visas i konsolen efter att den lyckats. Om allt fungerar som det ska visas "Hello World" på sidan.

 

Låt oss titta på det här exemplet.

 

Lägg först märke till att koden innehåller kommandot för att ansluta HTTP-modulen.

 

Node.js-plattformen har en utmärkt standarduppsättning av moduler, som inkluderar välutvecklade mekanismer för att arbeta med nätverket.

Objektmetoden createServer () http skapar en ny HTTP-server och returnerar den.

 

Servern är konfigurerad för att lyssna på en viss port på en specifik värd. När servern är klar anropas motsvarande återuppringning och informerar oss om att servern körs.

När servern tar emot en begäran avfyras en händelse som ger två objekt. Den första är begäran (req, http.IncomingMessage-objektet), den andra är svaret (res, http.ServerResponse-objektet). De är de viktigaste mekanismerna för hantering av HTTP-förfrågningar.

 

Den första ger oss information om begäran. I vårt enkla exempel använder vi inte dessa data, men om nödvändigt använder vi objektet, reqyou kan komma åt begäran rubriker och data skickas i den.

 

Den andra behövs för att bilda och skicka ett svar på en begäran.

 

I det här fallet bildar vi svaret på begäran enligt följande. Först ställer vi in ​​egenskapens statuskod till värdet 200, vilket indikerar en lyckad operation:

 

res.statusCode = 200

Därefter ställer vi in ​​titeln Content-Type:

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

Vi slutför sedan beredningen av svaret genom att lägga till dess innehåll som ett argument till metodens slut ():

res.end ('Hello World \ n')

 

Vi har redan nämnt att ett kraftfullt ekosystem har bildats runt Node.js-plattformen. Låt oss nu diskutera några populära ramar och hjälpverktyg för Node.js.

 

Ramverk och hjälpverktyg för Node.js

 

Node.js är en plattform på låg nivå. För att förenkla utvecklingen för det och göra livet enklare för programmerare har ett stort antal bibliotek skapats. Några av dem har blivit mycket populära över tiden. Här är en liten lista över bibliotek som jag tycker är bra gjort och värda att utforska:

 

uttrycka: Detta bibliotek ger utvecklaren ett extremt enkelt men ändå kraftfullt verktyg för att bygga webbservrar. Nyckeln till Express framgång har varit en minimalistisk strategi och fokus på grundläggande mekanismer på serversidan utan att försöka införa en vision om "one-stop" serverarkitektur.

 

Meteor: Det är ett kraftfullt ramverk med full stack som tar en isomorf metod för att utveckla JavaScript-applikationer och använda kod på både klienten och servern. En gång var Meteor ett fristående verktyg som innehåller allt en utvecklare kan behöva. Det integreras nu också med frontend-bibliotek som React, Vue och Angular. Meteor kan, förutom att utveckla vanliga webbapplikationer, också användas för mobil utveckling.

 

Koa: Detta webbramverk är byggt av samma team bakom Express. Baserat på många års erfarenhet av Express utvecklades det med fokus på enkelhet och kompaktitet. Detta projekt kom till som en lösning på problemet med att göra stora förändringar i Express som är oförenliga med andra rammekanismer som kan dela upp samhället.

 

Next.js: Detta ramverk är utformat för att organisera server-sida rendering av React applikationer.

 

Micro: Det är ett mycket lätt bibliotek för att bygga asynkrona HTTP-mikrotjänster.

Socket.io. Det är ett bibliotek för utveckling av nätverksapplikationer i realtid.

 

Faktum är att i Node.js-ekosystemet kan du hitta ett hjälpbibliotek för nästan vilken uppgift som helst. Som du kan föreställa dig tar det mycket tid att bygga ett sådant ekosystem. Node.js-plattformen dök upp under 2009. Under dess existens har många saker hänt som borde vara kända för en programmerare som vill lära sig denna plattform.

 

En kort historik över Node.js

 

Node.js är 9 år i år. Detta är naturligtvis inte så mycket när du jämför den här åldern med JavaScript-åldern, som redan är 23 år gammal, eller med 25-årsåldern på nätet som vi känner till om du räknar med från mosaikens tillkomst webbläsare.

 

9 år är kort tid för teknik, men nu verkar det som om Node.js-plattformen alltid har funnits.

 

Med Node.js från tidiga versioner av plattformen när den bara var 2 år gammal. Även då, trots att det inte fanns så mycket information om Node.js, kunde man redan känna att Node.js är väldigt seriöst.

 

Låt oss nu prata om teknologierna bakom Node.js och titta snabbt påviktigaste utvecklingen relaterade till denna plattform.

 

Så JavaScript är ett programmeringsspråk som skapades i Netscape som ett skriptspråk för att manipulera webbsidor i Netscape Navigator-webbläsaren.

En del av Netscapes verksamhet var att sälja webbservrar, som inkluderade en miljö som heter Netscape LiveWire. Det tillät dig att skapa dynamiska webbsidor med hjälp av JavaScript på serversidan.

 

tanken på att använda JS för serversidan är mycket äldre än Node.js. Denna idé är nästan lika gammal som JavaScript, men vid den aktuella tiden var JS på serversidan inte populär.

 

En av nyckelfaktorerna som gjorde Node.js-plattformen så utbredd och populär är när den först dök upp. Så några år tidigare hade JavaScript börjat betraktas som ett seriöst språk. Detta hände tack vare Web 2.0-applikationer som Google Maps eller Gmail, som visade världen kraften i modern webbteknik.

 

Tack vare webbläsarens konkurrenskrig, som fortsätter till denna dag, har JavaScript-motorns prestanda ökat avsevärt. Utvecklingsteamen bakom de stora webbläsarna arbetar varje dag för att förbättra prestandan för sina lösningar, vilket har en positiv effekt på JavaScript i allmänhet.

 

En sådan motor är den tidigare nämnda V8, som används i Chrome-webbläsaren och används i Node.js. Det är ett av resultaten av webbläsarutvecklare som strävar efter högpresterande JavaScript-kod.

 

Naturligtvis bygger Node.js popularitet inte bara på en lycklig tillfällighet och på det faktum att plattformen föddes vid rätt tidpunkt. Hon introducerade världen till ett innovativt tillvägagångssätt för utveckling av JavaScript på serversidan. Låt oss titta på de viktigaste milstolparna i Node.js. historia.

 

2009


  • Framväxten av Node.js

  • Gör den första npm-varianten.

 

2010

  • Expressens utseende.

  • Framväxten av Socket.io.

 

2011


  • Npm 1.0 släpp.

  • Stora företag som LinkedIn och Uber har börjat använda Node.js.

 

2012


  • Den snabba ökningen i popularitet för Node.js.

 

2013


  • Framväxten av Ghost, den första stora plattformen för publikationer som använder Node.js.

  • Koa släpp.

 

2014


  • Dramatiska händelser har ägt rum i år. IO.js-projektet dök upp, vilket är en gaffel av Node.js, vars syfte bland annat var att införa ES6-stöd och påskynda utvecklingen av plattformen.

 

2015


  • Node.js Foundation grundas.

  • Sammanfoga IO.js och Node.js.

  • I npm blir det möjligt att arbeta med privata moduler.

  • Yield Node.js 4 (det bör noteras att versionerna 1, 2 och 3 från plattformen inte var).

 

2016


  • Händelsepaketets incident.

  • Framväxten av garn.

  • Utgåva för Node.js 6.

 

2017


  • Npm börjar ägna mer uppmärksamhet åt säkerhet.

  • Node.js 8 släpp

  • Framväxten av stöd för HTTP / 2.

  • V8 är officiellt erkänt som en JS-motor designad inte bara för Chrome utan också för Node.

  • Det laddas ner 3 miljarder npm varje vecka.

 

2018


  • Utgåva för Node.js 10.

  • Stöd för ES-moduler.

  • Experimentellt mjs-stöd.