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

Betyg - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /En gång i månaden


Serverplatser


RedSwitches Servers in Netherlandsnederländerna RedSwitches Servers in UnionFörenta staterna RedSwitches Servers in MelbourneAustralien RedSwitches Servers in MumbaiIndien RedSwitches Servers in GermanyTyskland
Jämföra
Betyg - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /En gång i månaden


Serverplatser


Hostarina Servers in UnionFörenta staterna Hostarina Servers in Rawalpindipakistan Hostarina Servers in MunichTyskland
Jämföra
Betyg - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /En gång i månaden


Serverplatser


Net9 Oy Servers in StockholmSverige Net9 Oy Servers in Helsinkifinland Net9 Oy Servers in ParisFrankrike
Jämföra
Betyg - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /En gång i månaden


Serverplatser


Heroku Servers in United StatesFörenta staterna
Jämföra
Betyg - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /En gång i månaden

Jämföra
Betyg - 0
Chemi Cloud Logo
Chemi Cloud

Chemi Cloud

Ionic
$2.95 /En gång i månaden


Serverplatser


Chemi Cloud Servers in BangaloreIndien Chemi Cloud Servers in New YorkFörenta staterna Chemi Cloud Servers in Bucharestrumänien Chemi Cloud Servers in LondonStorbritannien Chemi Cloud Servers in Amsterdamnederländerna Chemi Cloud Servers in Torontokanada Chemi Cloud Servers in SydneyAustralien
Jämföra
Betyg - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /En gång i månaden


Serverplatser


Oudel Servers in UnionFörenta staterna
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.