Mezgls.JS (Node.JS)

Node.js ir atvērtā koda starpplatformu JavaScript izpildlaiks, kas darbojas serveros. Kopš tās izlaišanas 2009. gadā šī platforma ir kļuvusi ārkārtīgi populāra, un tai mūsdienās ir ļoti svarīga loma tīmekļa izstrādes jomā.
Pilnu rakstu skatiet vietnē Node.JS ...

Rādīt filtru
Filtru mitināšana
A2 Themes & Host Me Filter

Operācijas sistēma

Vieta diskā

RAM atmiņa

Diska tips

CPU kodoli

Kārtot

Rezultāts - 0
RedSwitches Logo
RedSwitches

RedSwitches

Pearl
$6.94 /Ikmēneša


Servera atrašanās vietas


RedSwitches Servers in NetherlandsNīderlande RedSwitches Servers in UnionSavienotās Valstis RedSwitches Servers in MelbourneAustrālija RedSwitches Servers in MumbaiIndija RedSwitches Servers in GermanyVācija
Salīdzināt
Rezultāts - 0
Hostarina Logo
Hostarina

Hostarina

Personal
$2.92 /Ikmēneša


Servera atrašanās vietas


Hostarina Servers in UnionSavienotās Valstis Hostarina Servers in RawalpindiPakistāna Hostarina Servers in MunichVācija
Salīdzināt
Rezultāts - 0
Net9 Oy Logo
Net9 Oy

Net9 Oy

Small
$1.13 /Ikmēneša


Servera atrašanās vietas


Net9 Oy Servers in StockholmZviedrija Net9 Oy Servers in HelsinkiSomija Net9 Oy Servers in ParisFrancija
Salīdzināt
Rezultāts - 0
Heroku Logo
Heroku

Heroku

Hobby
$7 /Ikmēneša


Servera atrašanās vietas


Heroku Servers in United StatesSavienotās Valstis
Salīdzināt
Rezultāts - 0
Awareindia.net Logo
Awareindia.net

Awareindia.net

Linux Hosting Plan G
$5.83 /Ikmēneša

Salīdzināt
Rezultāts - 0
Chemi Cloud Logo
Chemi Cloud

Čemi mākonis

Ionic
$2.95 /Ikmēneša


Servera atrašanās vietas


Chemi Cloud Servers in BangaloreIndija Chemi Cloud Servers in New YorkSavienotās Valstis Chemi Cloud Servers in BucharestRumānija Chemi Cloud Servers in LondonApvienotā Karaliste Chemi Cloud Servers in AmsterdamNīderlande Chemi Cloud Servers in TorontoKanāda Chemi Cloud Servers in SydneyAustrālija
Salīdzināt
Rezultāts - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Ikmēneša


Servera atrašanās vietas


Oudel Servers in UnionSavienotās Valstis
Salīdzināt

 

Node.js

 

 

Node.js ir atvērtā koda starpplatformu JavaScript izpildlaiks, kas darbojas serveros. Kopš tās izlaišanas 2009. gadā šī platforma ir kļuvusi ārkārtīgi populāra, un tai mūsdienās ir ļoti svarīga loma tīmekļa izstrādes jomā. Ja par popularitātes rādītāju uzskatām zvaigžņu skaitu, ko projekts ir savācis vietnē GitHub, tad Node.js, kurā ir vairāk nekā 50 000 zvaigžņu, ir ļoti, ļoti populārs projekts.

 

Node.js platforma ir veidota uz Google V8 JavaScript dzinēja, kas tiek izmantots pārlūkprogrammā Google Chrome. Šo platformu galvenokārt izmanto, lai izveidotu tīmekļa serverus, taču tās darbības joma neaprobežojas tikai ar to.

 

Apskatīsim Node.js galvenās iezīmes.

 

Ātrums

 

Viena no galvenajām Node.js atrakcijām ir ātrums. Node.js izpildītais JavaScript kods var būt divreiz ātrāks nekā kods, kas rakstīts apkopotās valodās, piemēram, C vai Java, un lieluma pakāpes ātrāk nekā interpretētās valodas, piemēram, Python vai Ruby. Iemesls tam ir platformas nebloķējošā arhitektūra, un konkrētie rezultāti ir atkarīgi no izmantotajiem etaloniem, taču kopumā Node.js ir ļoti ātra platforma.

 

Vienkāršība

 

Node.js platformu ir viegli iemācīties un izmantot. Patiesībā tas ir pavisam vienkārši, it īpaši salīdzinājumā ar dažām citām serveru platformām.

 

JavaScript

 

JavaScript tiek izpildīts vidē Node.js. Tas nozīmē, ka miljoniem front-end izstrādātāju, kuri pārlūkprogrammā jau izmanto JavaScript, var rakstīt gan servera, gan klienta kodu vienā un tajā pašā programmēšanas valodā, nemācoties pilnīgi jaunu rīku, lai pārietu uz servera puses attīstību.

 

Pārlūkprogrammā un serverī tiek izmantoti vieni un tie paši valodas jēdzieni. Turklāt Node.js var ātri pāriet uz jauniem ECMAScript standartiem, jo ​​tie tiek ieviesti platformā.

 

Nav jāgaida, kamēr lietotāji atsvaidzina pārlūkprogrammas, jo Node.js ir servera vide, kas pilnībā kontrolē izstrādātāju. Tā rezultātā, instalējot atbalsta Node.js versiju, kļūst pieejamas jaunas valodas funkcijas.

 

V8 motors

 

Starp citiem risinājumiem Node.js centrā ir Google atvērtā koda V8 JavaScript dzinējs, kas tiek izmantots Google Chrome un citās pārlūkprogrammās. Tas nozīmē, ka Node.js izmanto tūkstošiem inženieru, kuri neticami ātri izveidoja JavaScript Chrome izpildlaiku un turpina strādāt, lai uzlabotu V8.

 

Asinhronija

 

Tradicionālajās programmēšanas valodās (C, Java, Python, PHP) visas instrukcijas pēc noklusējuma tiek bloķētas, ja vien izstrādātājs nepārprotami nerūpējas par koda izpildi asinhroni. Rezultātā, ja, piemēram, šādā vidē, jūs iesniedzat tīkla pieprasījumu, lai lejupielādētu kādu JSON kodu, straumes, no kuras tiek veikts pieprasījums, izpilde tiks apturēta līdz atbildes saņemšanai un apstrādei.

 

JavaScript atvieglo asinhrona un nebloķējoša koda rakstīšanu, izmantojot vienu pavedienu, atzvanīšanu un notikumu virzītu pieeju attīstībai. Katru reizi, kad mums jāveic smaga operācija, mēs nododam atzvanīšanu attiecīgajam mehānismam, kas tiks izsaukts tūlīt pēc šīs operācijas pabeigšanas. Tā rezultātā, lai programma turpinātu darbu, nav jāgaida šādu darbību rezultāti.

 

Līdzīgs mehānisms radās pārlūkprogrammās. Mēs nevaram atļauties gaidīt, teiksim,AJAXpieprasījums pabeigt, nespējot reaģēt uz lietotāja darbībām, piemēram, klikšķiem uz pogas. Lai lietotājiem būtu ērti strādāt ar tīmekļa lapām, visam - gan datu lejupielādei no tīkla, gan pogu klikšķu apstrādei - jānotiek vienlaikus reāllaikā.

 

Ja esat kādreiz izveidojis pogas klikšķu notikumu apstrādātāju, jūs jau esat izmantojis asinhronās programmēšanas metodes.

 

Asinhronie mehānismi ļauj vienam Node.js serverim vienlaikus apstrādāt tūkstošiem savienojumu, neapgrūtinot programmētāju ar pavedienu pārvaldību un paralēliem koda izpildes uzdevumiem. Šādas lietas bieži ir kļūdu avoti.

 

Node.js nodrošina izstrādātāju ar nebloķējošiem I / O pamata mehānismiem, un kopumā Node.js sistēmā izmantotās bibliotēkas tiek rakstītas, izmantojot nebloķējošas paradigmas.Tas padara uzvedības bloķēšanu par izņēmumu, nevis par normu.

 

Kad Node.js ir jāveic I / O darbība, piemēram, datu ielāde no tīkla, piekļuve datu bāzei vai failu sistēmai, tā vietā, lai bloķētu galveno pavedienu, gaidot šādas operācijas rezultātus, Node.js sāks to izpildi un turpini darīt citas darbības, līdz tiek saņemti šīs operācijas rezultāti.

 

Bibliotēkas

 

Ar ērtu un ērtu darbu ar Node.js pakotņu pārvaldnieku, ko sauc par npm, Node.js ekosistēma plaukst. Tagad npm reģistrā ir vairāk nekā pusmiljons atvērtā koda pakotņu, kuras jebkurš Node.js izstrādātājs var brīvi izmantot.

 

Pārskatot dažas no galvenajām Node.js platformas funkcijām, izmēģināsim to darbībā. Sāksim ar instalēšanu.

 

 

Node.js

 

 

Instalē Node.js

 

Node.js var instalēt dažādos veidos, kurus mēs apskatīsim pēc brīža. Tātad var atrast visu lielāko platformu oficiālās instalācijas paketes.

 

Ir vēl viens ļoti ērts veids, kā instalēt Node.js, proti, izmantot operētājsistēmā piedāvāto pakotņu pārvaldnieku. Piemēram, macOS pakotņu pārvaldnieku, kas šajā jomā ir de facto standarts, sauc par Homebrew.

 

Ja jūsu sistēmā tāds ir, varat instalēt Node.js, izpildot šo komandu komandrindā:

 

brūvēt instalēšanas mezglu

 

Citu operētājsistēmu, tostarp Linux un Windows, pakotņu pārvaldnieku sarakstu varat atrast šeit.

 

Populārs Node.js versiju pārvaldnieks ir nvm. Šis rīks ļauj ērti pārslēgties starp dažādām Node.js versijām, ar tā palīdzību jūs varat, piemēram, instalēt un izmēģināt jaunu Node.js versiju un pēc tam, ja nepieciešams, atgriezties pie vecās. Nvm ir noderīgs arī situācijā, kad jums ir jāpārbauda kāds kods vecā Node.js versijā.

 

Iesācējiem izmantot oficiālos Node.js instalētājus. MacOS lietotājiem ieteicams instalēt Node.js, izmantojot Homebrew. Tagad, kad esat instalējis Node.js, ir pienācis laiks uzrakstīt "Hello World".

 

Pirmā Node.js lietojumprogramma

 

Pirmās Node.js lietojumprogrammas visizplatītākais piemērs ir vienkāršs tīmekļa serveris. Šeit ir tā kods:

const http = pieprasīt ('http')

const resursdatora nosaukums = '127.0.0.1'

const ports = 3000

const serveris = http.createServer ((req, res) = & gt; {

res.statusCode = 200

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

res.end (“Sveika pasaule \ n”)

})

server.listen (ports, resursdatora nosaukums, () = & gt; {

console.log (`Serveris darbojas vietnē http: // $ {resursdatora nosaukums: $ {ports} /`)

})

 

Lai palaistu šo kodu, saglabājiet to failā server.js un izpildiet šādu komandu terminālā:

 

mezgls server.js

 

Lai pārbaudītu serveri, atveriet pārlūkprogrammu un adrešu joslā ievadiet http://127.0.0.1:3000, tas ir, servera adresi, kas tiks parādīta konsolē pēc veiksmīgas palaišanas. Ja viss darbojas kā nākas, lapā būs redzams uzraksts “Hello World”.

 

Apskatīsim šo piemēru.

 

Pirmkārt, ievērojiet, ka kods satur komandu savienot HTTP moduli.

 

Node.js platformai ir lielisks standarta moduļu komplekts, kas ietver labi izstrādātus mehānismus darbam ar tīklu.

Objekta createServer () metode http izveido jaunu HTTP serveri un to atdod.

 

Serveris ir konfigurēts, lai klausītos noteiktā resursdatora noteiktā portā. Kad serveris ir gatavs, tiek izsaukta atbilstošā atzvanīšana, informējot mūs, ka serveris darbojas.

Kad serveris saņem pieprasījumu, tiek aktivizēts notikuma pieprasījums, kas nodrošina divus objektus. Pirmais ir pieprasījums (req, objekts http.IncomingMessage), otrais ir atbilde (res, objekts http.ServerResponse). Tie ir vissvarīgākie HTTP pieprasījumu apstrādes mehānismi.

 

Pirmais sniedz mums informāciju par pieprasījumu. Mūsu vienkāršajā piemērā mēs neizmantojam šos datus, bet, ja nepieciešams, izmantojot objektu, varat piekļūt pieprasījuma galvenēm un tajā pārsūtītajiem datiem.

 

Otrais ir nepieciešams, lai izveidotu un nosūtītu atbildi uz pieprasījumu.

 

Šajā gadījumā atbildi uz pieprasījumu mēs veidojam šādi. Pirmkārt, īpašuma statusa kodu iestatījām uz vērtību 200, kas norāda uz veiksmīgu darbību:

 

res.statusCode = 200

Pēc tam mēs iestatījām nosaukumu Content-Type:

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

Pēc tam mēs pabeidzim atbildes sagatavošanu, pievienojot tās saturu kā argumentu metodes end ():

res.end (“Sveika pasaule \ n”)

 

Mēs jau minējām, ka ap platformu Node.js ir izveidojusies spēcīga ekosistēma. Tagad apspriedīsim dažus populārus Node.js ietvarus un palīgrīkus.

 

Node.js ietvarstruktūras un palīgrīki

 

Node.js ir zema līmeņa platforma. Lai vienkāršotu tā izstrādi un atvieglotu programmētāju dzīvi, ir izveidots milzīgs bibliotēku skaits. Daži no tiem laika gaitā ir kļuvuši ļoti populāri. Šeit ir neliels to bibliotēku saraksts, kuras, manuprāt, ir labi izdarītas un kuru vērts izpētīt:

 

Izteikt: Šī bibliotēka nodrošina izstrādātāju ar ļoti vienkāršu, bet spēcīgu rīku tīmekļa serveru veidošanai. Express panākumu atslēga ir bijusi minimālistiska pieeja un koncentrēšanās uz pamata servera puses mehānismiem, nemēģinot uzspiest "vienas pieturas" servera arhitektūras redzējumu.

 

Meteors: Tas ir spēcīgs pilna kaudzes ietvars, kuram ir izomorfiska pieeja, lai izstrādātu JavaScript lietojumprogrammas un izmantojot kodu gan klientā, gan serverī. Kādreiz Meteor bija atsevišķs rīks, kas ietver visu, kas izstrādātājam varētu būt vajadzīgs. Tagad tas integrējas arī ar frontend bibliotēkām, piemēram, React, Vue un Angular. Papildus kopīgu tīmekļa lietojumprogrammu izstrādei Meteor var izmantot arī mobilajā izstrādē.

 

Koa: Šo tīmekļa ietvaru izveidojusi tā pati komanda, kas darbojas aiz Express. Balstoties uz daudzu gadu pieredzi Express, tā tika izstrādāta, koncentrējoties uz vienkāršību un kompaktumu. Šis projekts radās kā risinājums problēmai veikt lielas izmaiņas programmā Express, kas nav saderīgas ar citiem ietvara mehānismiem, kas varētu sašķelt kopienu.

 

Next.js: Šī sistēma ir paredzēta, lai organizētu React lietojumprogrammu renderēšanu servera pusē.

 

Mikro: Tā ir ļoti viegla bibliotēka asinhronu HTTP mikropakalpojumu izveidei.

Socket.io. Tā ir bibliotēka reāllaika tīkla lietojumprogrammu izstrādei.

 

Faktiski Node.js ekosistēmā gandrīz jebkura uzdevuma veikšanai varat atrast palīgu bibliotēku. Kā jūs varat iedomāties, šādas ekosistēmas izveidošana prasa daudz laika. Platforma Node.js parādījās 2009. gadā. Tās pastāvēšanas laikā ir noticis daudz kas tāds, kas būtu jāzina programmētājam, kurš vēlas apgūt šo platformu.

 

Īsa Node.js vēsture

 

Node.js šogad ir 9 gadus vecs. Tas, protams, nav tik daudz, ja salīdzināt šo vecumu ar JavaScript vecumu, kas jau ir 23 gadus vecs, vai ar tīmekļa 25 gadu vecumu, kā mēs to zinām, ja jūs skaitāt no Mozaīkas parādīšanās. pārlūku.

 

9 gadi ir īss laiks tehnoloģijām, taču tagad šķiet, ka platforma Node.js vienmēr pastāvējusi.

 

Ar Node.js no platformas agrīnām versijām, kad tam bija tikai 2 gadi. Pat tad, neskatoties uz to, ka par Node.js nebija tik daudz informācijas, jau varēja just, ka Node.js ir ļoti nopietns.

 

Tagad parunāsim par Node.js tehnoloģijām un ātri apskatīsimgalvenie ar šo platformu saistītie notikumi.

 

Tātad JavaScript ir programmēšanas valoda, kas tika izveidota Netscape kā skriptu valoda, lai manipulētu ar tīmekļa lapām Netscape Navigator pārlūkprogrammā.

Daļa no Netscape biznesa bija tīmekļa serveru pārdošana, kurā ietilpa vide ar nosaukumu Netscape LiveWire. Tas ļāva jums izveidot dinamiskas tīmekļa lapas, izmantojot servera puses JavaScript.

 

ideja izmantot JS servera puses attīstībai ir daudz vecāka nekā Node.js. Šī ideja ir gandrīz tikpat veca kā pats JavaScript, taču attiecīgajā laikā servera puses JS nebija populāra.

 

Viens no galvenajiem faktoriem, kas Node.js platformu padarīja tik plaši izplatītu un populāru, ir tās parādīšanās. Tātad dažus gadus iepriekš JavaScript bija sākts uzskatīt par nopietnu valodu. Tas notika, pateicoties Web 2.0 lietojumprogrammām, piemēram, Google Maps vai Gmail, kas pasaulei parādīja moderno tīmekļa tehnoloģiju spēku.

 

Pateicoties konkurējošajam pārlūkprogrammu karam, kas turpinās līdz šai dienai, JavaScript dzinēju veiktspēja ir ievērojami palielinājusies. Izstrādes komandas, kas atrodas lielāko pārlūkprogrammu aizmugurē, katru dienu strādā, lai uzlabotu savu risinājumu veiktspēju, kas labvēlīgi ietekmē JavaScript kopumā.

 

Viens no šādiem dzinējiem ir jau pieminētais V8, kas tiek izmantots pārlūkā Chrome un tiek izmantots vietnē Node.js. Tas ir viens no pārlūka izstrādātāju rezultātiem, kas cenšas iegūt augstas veiktspējas JavaScript kodu.

 

Protams, Node.js popularitātes pamatā ir ne tikai laimīga sagadīšanās un fakts, ka platforma ir dzimusi īstajā laikā. Viņa iepazīstināja pasauli ar novatorisku pieeju servera puses JavaScript izstrādē. Apskatīsim galvenos pagrieziena punktus Node.js vēsturē.

 

2009


  • Node.js parādīšanās

  • Pirmā npm varianta izgatavošana.

 

2010

  • Express izskats.

  • Socket.io parādīšanās.

 

2011


  • Npm 1.0 izlaidums.

  • Lielie uzņēmumi, piemēram, LinkedIn un Uber, ir sākuši izmantot Node.js.

 

2012


  • Straujais Node.js popularitātes pieaugums.

 

2013


  • Ghost parādīšanās, pirmā nozīmīgā platforma publikācijām, izmantojot Node.js.

  • Koa atbrīvošana.

 

2014


  • Šogad ir notikuši dramatiski notikumi. Parādījās projekts IO.js, kas ir Node.js dakša, kura mērķis, cita starpā, bija ieviest ES6 atbalstu un paātrināt platformas attīstību.

 

2015


  • Tiek dibināts fonds Node.js.

  • IO.js un Node.js apvienošana

  • Pēc npm kļūst iespējams strādāt ar privātiem moduļiem.

  • Ienesīgums Node.js 4 (jāatzīmē, ka 1., 2. un 3. versija no platformas nebija).

 

2016


  • Incidents pa kreisi.

  • Dzijas parādīšanās.

  • Node.js 6 izlaidums.

 

2017


  • Npm sāk pievērst lielāku uzmanību drošībai.

  • Node.js 8 izlaidums

  • HTTP / 2 atbalsta parādīšanās.

  • V8 ir oficiāli atzīts par JS motoru, kas paredzēts ne tikai pārlūkam Chrome, bet arī Node.

  • Katru nedēļu tiek lejupielādēti 3 miljardi s / min.

 

2018


  • Node.js 10 izlaidums.

  • Atbalsts ES moduļiem.

  • Eksperimentālais mjs atbalsts.