Nod.JS (Node.JS)

Node.js este un runtime JavaScript open-source, multiplataforma, care rulează pe servere. De la lansarea sa în 2009, această platformă a devenit extrem de populară și joacă un rol foarte important în domeniul dezvoltării web în zilele noastre.
Pentru articolul complet de pe Node.JS ...

Afișați filtrul
Filtre de găzduire
Host Me Host Filter

Sistem de operare

Spatiu pe disc

Memorie RAM

Tipul de disc

Core Core

Fel

Scor - 9
A2hosting Logo
A2hosting

A2hosting

Lite
$3.92 /Lunar

50 Cupoane

Locații server


A2hosting Servers in AmsterdamOlanda A2hosting Servers in MichiganStatele Unite A2hosting Servers in SingaporeSingapore
Comparaţie
Scor - 5.2
Dream Host Logo
Dream Host

Gazdă de vis

DreamObjects 40 GB
$0.95 /Lunar

29 Cupoane

Locații server


Dream Host Servers in AshburnStatele Unite
Comparaţie
Trust Pilot ICDSoft
Scor - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - Europe
$8 /Lunar

Recenzii 233


Locații server


ICDSoft Servers in SofiaBulgaria ICDSoft Servers in BostonStatele Unite ICDSoft Servers in Hong KongHong Kong
Comparaţie
Trust Pilot ICDSoft
Scor - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - USA
$8 /Lunar

Recenzii 233


Locații server


ICDSoft Servers in SofiaBulgaria ICDSoft Servers in BostonStatele Unite ICDSoft Servers in Hong KongHong Kong
Comparaţie
Trust Pilot Keliweb
Scor - 9.8
Keliweb Logo
Keliweb

Keliweb

Prime
$5.51 /Lunar

Recenzii 453


Locații server


Keliweb Servers in MilanoItalia
Comparaţie
Trust Pilot JustHostMe
Scor - 9.4
JustHostMe Logo
JustHostMe

JustHostMe

Starter
$3.11 /Lunar

Recenzii 72


Locații server


JustHostMe Servers in United KingdomRegatul Unit
Comparaţie
Trust Pilot Dream VPS
Scor - 8.6
Dream VPS Logo
Dream VPS

Vis VPS

STARTER
$3.75 /Lunar

Recenzii 7


Locații server


Dream VPS Servers in Hong KongHong Kong Dream VPS Servers in Santa Clara Dream VPS Servers in New YorkStatele Unite Dream VPS Servers in LondonRegatul Unit Dream VPS Servers in AmsterdamOlanda Dream VPS Servers in FrankfurtGermania Dream VPS Servers in IsraelIsrael
Comparaţie
Trust Pilot Reseller Cube
Scor - 8
Reseller Cube Logo
Reseller Cube

Cub de revânzător

Basic USA
$5 /Lunar

Recenzii 4


Locații server


Reseller Cube Servers in RaleighStatele Unite
Comparaţie
Trust Pilot Univa Host
Scor - 8
Univa Host Logo
Univa Host

Univa Host

E-ECONOMY
$2.99 /Lunar

Recenzii 3


Locații server


Univa Host Servers in GermanyGermania Univa Host Servers in United StatesStatele Unite
Comparaţie
Trust Pilot OperaVPS
Scor - 7.8
OperaVPS Logo
OperaVPS

OperaVPS

Linux 512MB
$7.99 /Lunar

Recenzii 3


Locații server


OperaVPS Servers in United KingdomRegatul Unit OperaVPS Servers in AustriaAustria OperaVPS Servers in CanadaCanada OperaVPS Servers in DenmarkDanemarca OperaVPS Servers in FranceFranţa OperaVPS Servers in GermanyGermania OperaVPS Servers in ItalyItalia OperaVPS Servers in NetherlandsOlanda OperaVPS Servers in RomaniaRomânia OperaVPS Servers in United StatesStatele Unite
Comparaţie
Trust Pilot L3Web Hosting
Scor - 7.6
L3Web Hosting Logo
L3Web Hosting

Gazduire L3Web

START UP
$1.99 /Lunar

Recenzii 2


Locații server


L3Web Hosting Servers in IndiaIndia L3Web Hosting Servers in MunichGermania L3Web Hosting Servers in MiamiStatele Unite L3Web Hosting Servers in SingaporeSingapore L3Web Hosting Servers in United KingdomRegatul Unit
Comparaţie
Trust Pilot Idea Stack
Scor - 7.4
Idea Stack Logo
Idea Stack

Stiva de idei

LEVEL 1
$2 /Lunar

Recenzii 2


Locații server


Idea Stack Servers in SeattleStatele Unite
Comparaţie
Trust Pilot Epic Host
Scor - 7.4
Epic Host Logo
Epic Host

Epic Host

Cloud hosting
$2.37 /Lunar

Recenzii 1


Locații server


Epic Host Servers in New DelhiIndia Epic Host Servers in UnionStatele Unite
Comparaţie
Trust Pilot itanets.co.uk
Scor - 7
itanets.co.uk Logo
itanets.co.uk

itanets.co.uk

JSP HOSTING 1
$5.19 /Lunar

Recenzii 2

Comparaţie
Trust Pilot Digital Ocean
Scor - 3.8
Digital Ocean Logo
Digital Ocean

Oceanul digital

$5 /mo
$5 /Lunar

Recenzii 214

38 Cupoane

Locații server


Digital Ocean Servers in IndiaIndia Digital Ocean Servers in New YorkStatele Unite Digital Ocean Servers in AmsterdamOlanda Digital Ocean Servers in LondonRegatul Unit Digital Ocean Servers in TorontoCanada Digital Ocean Servers in Frankfurt am MainGermania Digital Ocean Servers in SingaporeSingapore
Comparaţie
Scor - 10
HOST PRO KE Logo
HOST PRO KE

HOST PRO KE

Host Pro Starter
$9.38 /Anual


Locații server


HOST PRO KE Servers in GermanyGermania
Comparaţie
Scor - 9.4
Accu WebHosting Logo
Accu WebHosting

Accu WebHosting

Windows Personal Web Hosting
$2.99 /Lunar

19 Cupoane

Locații server


Accu WebHosting Servers in FranceFranţa Accu WebHosting Servers in DenverStatele Unite Accu WebHosting Servers in MumbaiIndia Accu WebHosting Servers in AmsterdamOlanda Accu WebHosting Servers in Frankfurt am MainGermania Accu WebHosting Servers in SydneyAustralia Accu WebHosting Servers in LondonRegatul Unit Accu WebHosting Servers in PolandPolonia Accu WebHosting Servers in CanadaCanada Accu WebHosting Servers in SingaporeSingapore
Comparaţie
Scor - 9
Be hostings Logo
Be hostings

Fii gazdă

StarterSSL
$3.36 /Lunar


Locații server


Be hostings Servers in BrusselsBelgia
Comparaţie
Scor - 4.3
Gear Host Logo
Gear Host

Gear Host

CloudSite Hobby
$5 /Lunar


Locații server


Gear Host Servers in DenverStatele Unite
Comparaţie
Scor - 1
Mikro VPS Logo
Mikro VPS

Mikro VPS

VPS SSD 1
$4.39 /Lunar


Locații server


Mikro VPS Servers in BudapestUngaria
Comparaţie
Scor - 0
Oudel Logo
Oudel

Oudel

cPanel Hosting 1
$5.95 /Lunar


Locații server


Oudel Servers in UnionStatele Unite
Comparaţie

 

Node.js

 

 

Node.js este un runtime JavaScript open-source, multiplataforma, care rulează pe servere. De la lansarea sa în 2009, această platformă a devenit extrem de populară și joacă un rol foarte important în domeniul dezvoltării web în zilele noastre. Dacă considerăm numărul de stele pe care un proiect le-a adunat pe GitHub ca un indicator al popularității, atunci Node.js, care are peste 50.000 de stele, este un proiect foarte, foarte popular.

 

Platforma Node.js este construită pe motorul JavaScript V8 Google, care este utilizat în browserul Google Chrome. Această platformă este utilizată în principal pentru a crea servere web, dar domeniul său de aplicare nu se limitează la aceasta.

 

Să ne uităm la principalele caracteristici ale Node.js.

 

Viteză

 

Una dintre principalele atracții ale Node.js este viteza. Codul JavaScript executat în Node.js poate fi de două ori mai rapid decât codul scris în limbaje compilate precum C sau Java și ordine de mărime mai rapide decât limbile interpretate precum Python sau Ruby. Motivul pentru aceasta este arhitectura non-blocantă a platformei, iar rezultatele specifice depind de criteriile de referință utilizate, dar, în general, Node.js este o platformă foarte rapidă.

 

Simplitate

 

Platforma Node.js este ușor de învățat și de utilizat. De fapt, este de-a dreptul foarte simplu, mai ales în comparație cu alte platforme de server.

 

JavaScript

 

JavaScript este executat în mediul Node.js. Acest lucru înseamnă că milioane de dezvoltatori front-end care folosesc deja JavaScript în browser pot scrie atât codul serverului, cât și codul clientului în același limbaj de programare, fără a fi nevoie să învețe un instrument complet nou pentru a trece la dezvoltarea server-side.

 

Browserul și serverul utilizează aceleași concepte lingvistice. În plus, Node.js poate trece rapid la noile standarde ECMAScript pe măsură ce sunt implementate pe platformă.

 

Nu este nevoie să așteptați ca utilizatorii să-și reîmprospăteze browserele pentru acest lucru, deoarece Node.js este un mediu de pe server care controlează complet dezvoltatorul. Ca urmare, noi funcții lingvistice devin disponibile atunci când instalați o versiune de suport a Node.js.

 

Motor V8

 

În centrul Node.js, printre alte soluții, se află motorul JavaScript V8 JavaScript cu sursă deschisă, care este utilizat în Google Chrome și alte browsere. Acest lucru înseamnă că Node.js profită de mii de ingineri care au făcut ca timpul de rulare JavaScript Chrome să fie incredibil de rapid și continuă să lucreze pentru îmbunătățirea V8.

 

Asincronie

 

În limbajele de programare tradiționale (C, Java, Python, PHP), toate instrucțiunile sunt blocate în mod implicit, cu excepția cazului în care dezvoltatorul se ocupă în mod explicit de executarea codului în mod asincron. Ca rezultat, dacă, de exemplu, într-un astfel de mediu, faceți o solicitare de rețea pentru a descărca un cod JSON, execuția fluxului din care se face solicitarea va fi suspendată până când răspunsul este primit și procesat.

 

JavaScript face mult mai ușor să scrieți cod asincron și care nu blochează folosind un singur fir, apeluri de apel și o abordare a dezvoltării bazată pe evenimente. De fiecare dată când trebuie să efectuăm o operație grea, transmitem un apel invers către mecanismul corespunzător, care va fi apelat imediat după finalizarea acestei operații. Ca urmare, nu este nevoie să așteptați rezultatele unor astfel de operațiuni pentru ca programul să continue să funcționeze.

 

Un mecanism similar a apărut în browsere. Nu ne putem permite să așteptăm, să zicem, unAJAXsolicitați finalizarea fără a putea răspunde la acțiunile utilizatorului, cum ar fi clicurile pe butoane. Pentru a le permite utilizatorilor să lucreze cu pagini web, totul, atât descărcarea datelor din rețea, cât și procesarea clicurilor pe butoane, trebuie să aibă loc simultan, în timp real.

 

Dacă ați creat vreodată un gestionar de evenimente cu clic pe buton, ați folosit deja tehnici de programare asincrone.

 

Mecanismele asincrone permit unui singur server Node.js să gestioneze simultan mii de conexiuni fără a împovăra programatorul cu sarcini de gestionare a firelor și de executare a codului paralel. Astfel de lucruri sunt adesea surse de eroare.

 

Node.js oferă dezvoltatorului mecanisme de I / O de bază care nu blochează și, în general, bibliotecile utilizate în cadrul Node.js sunt scrise folosind paradigme care nu blochează.Acest lucru face ca comportamentul de blocare să fie mai degrabă o excepție decât o normă.

 

Când Node.js trebuie să efectueze o operațiune I / O, cum ar fi încărcarea datelor din rețea, accesarea unei baze de date sau a sistemului de fișiere, în loc să blocheze firul principal de așteptare pentru rezultatele unei astfel de operații, Node.js își va iniția executarea și continuați să faceți alte lucruri până când sunt primite rezultatele acestei operațiuni.

 

Biblioteci

 

Cu ușurința și comoditatea de a lucra cu un manager de pachete pentru Node.js numit npm, ecosistemul Node.js este înfloritor. Există acum peste jumătate de milion de pachete open source în registrul npm pe care orice dezvoltator Node.js le poate folosi în mod liber.

 

După ce am analizat câteva dintre principalele caracteristici ale platformei Node.js, să încercăm în acțiune. Să începem cu instalarea.

 

 

Node.js

 

 

Instalarea Node.js

 

Node.js poate fi instalat într-o varietate de moduri, pe care le vom acoperi într-o clipă. Deci, pachetele oficiale de instalare pentru toate platformele majore pot fi găsite.

 

Există un alt mod foarte convenabil de a instala Node.js, care este de a utiliza managerul de pachete furnizat în sistemul de operare. De exemplu, managerul de pachete macOS, care este standardul de facto în această zonă, se numește Homebrew.

 

Dacă aveți unul în sistemul dvs., puteți instala Node.js executând această comandă pe linia de comandă:

 

nodul de instalare a berii

 

O listă a managerilor de pachete pentru alte sisteme de operare, inclusiv Linux și Windows, poate fi găsită aici.

 

Un manager de versiuni Node.js popular este nvm. Acest instrument vă permite să comutați în mod convenabil între diferitele versiuni ale Node.js, cu ajutorul acestuia puteți, de exemplu, să instalați și să încercați o nouă versiune a Node.js și apoi, dacă este necesar, să reveniți la cea veche. Nvm este, de asemenea, util într-o situație în care trebuie să testați un cod pe o versiune veche a Node.js.

 

Pentru începători să folosească programele de instalare oficiale Node.js. Pentru utilizatorii de macOS, s-ar recomanda instalarea Node.js folosind Homebrew. Acum că ați instalat Node.js, este timpul să scrieți „Hello World”.

 

Prima aplicație Node.js

 

Cel mai comun exemplu de primă aplicație Node.js este un server web simplu. Iată codul său:

const http = require ('http')

const hostname = '127.0.0.1'

port const = 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, nume de gazdă, () = & gt; {

console.log (`Server care rulează la http: // $ {hostname}: $ {port} /`)

})

 

Pentru a rula acest cod, salvați-l într-un fișier server.js și rulați următoarea comandă în terminal:

 

nod server.js

 

Pentru a verifica serverul, deschideți un browser și introduceți în bara de adrese http://127.0.0.1:3000, adică adresa serverului care va fi afișată în consolă după lansarea cu succes. Dacă totul funcționează așa cum ar trebui, pagina va afișa „Hello World”.

 

Să ne uităm la acest exemplu.

 

Mai întâi, observați că codul conține comanda pentru conectarea modulului HTTP.

 

Platforma Node.js are un set standard excelent de module, care include mecanisme bine dezvoltate pentru lucrul cu rețeaua.

Metoda obiectului createServer () http creează un nou server HTTP și îl returnează.

 

Serverul este configurat pentru a asculta pe un anumit port de pe o anumită gazdă. Când serverul este gata, se apelează apelul corespunzător, informându-ne că serverul rulează.

Când serverul primește o cerere, se declanșează o cerere care furnizează două obiecte. Primul este solicitarea (req, obiectul http.IncomingMessage), al doilea este răspunsul (res, obiectul http.ServerResponse). Acestea sunt cele mai importante mecanisme pentru gestionarea cererilor HTTP.

 

Primul ne oferă informații despre cerere. În exemplul nostru simplu, nu folosim aceste date, dar, dacă este necesar, folosind obiectul, puteți accesa antetele cererii și datele transmise în acesta.

 

Al doilea este necesar pentru a forma și a trimite un răspuns la o cerere.

 

În acest caz, formăm răspunsul la cerere după cum urmează. Mai întâi, setăm codul de stare a proprietății la o valoare de 200, ceea ce indică o operațiune reușită:

 

res.statusCode = 200

Apoi, setăm titlul Content-Type:

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

Apoi finalizăm pregătirea răspunsului adăugând conținutul acestuia ca argument la metoda end ():

res.end ('Hello World \ n')

 

Am menționat deja că s-a format un ecosistem puternic în jurul platformei Node.js. Să discutăm acum câteva cadre populare și instrumente de ajutor pentru Node.js.

 

Cadre și instrumente de asistență pentru Node.js

 

Node.js este o platformă de nivel scăzut. Pentru a simplifica dezvoltarea acesteia și a face viața mai ușoară pentru programatori, au fost create un număr mare de biblioteci. Unele dintre ele au devenit foarte populare de-a lungul timpului. Iată o mică listă de biblioteci care cred că sunt bine realizate și merită explorate:

 

Expres: Această bibliotecă oferă dezvoltatorului un instrument extrem de simplu, dar puternic, pentru construirea de servere web. Cheia succesului Express a fost o abordare minimalistă și o concentrare pe mecanismele de bază ale serverului, fără a încerca să impună o viziune a arhitecturii serverului „one-stop”.

 

Meteor: Este un cadru full-stack puternic, care adoptă o abordare izomorfă pentru a dezvolta aplicații JavaScript și a utiliza cod atât pe client, cât și pe server. Odată ce Meteor a fost un instrument independent care include tot ce ar putea avea nevoie un dezvoltator. Acum se integrează și cu biblioteci frontend precum React, Vue și Angular. Meteor, pe lângă dezvoltarea de aplicații web comune, poate fi utilizat și în dezvoltarea dispozitivelor mobile.

 

Koa: Acest cadru web este construit de aceeași echipă din spatele Express. Bazându-se pe ani de experiență cu Express, a fost dezvoltat cu accent pe simplitate și compactitate. Acest proiect a apărut ca o soluție la problema de a face modificări majore la Express care sunt incompatibile cu alte mecanisme cadru care ar putea împărți comunitatea.

 

Next.js: Acest cadru este conceput pentru a organiza redarea de pe server a aplicațiilor React.

 

Micro: Este o bibliotecă foarte ușoară pentru construirea de microservicii HTTP asincrone.

Socket.io. Este o bibliotecă pentru dezvoltarea aplicațiilor de rețea în timp real.

 

De fapt, în ecosistemul Node.js, puteți găsi o bibliotecă de ajutor pentru aproape orice activitate. După cum vă puteți imagina, este nevoie de mult timp pentru a construi un astfel de ecosistem. Platforma Node.js a apărut în 2009. În timpul existenței sale, s-au întâmplat o mulțime de lucruri care ar trebui să fie cunoscute unui programator care dorește să învețe această platformă.

 

O scurtă istorie a Node.js

 

Node.js are 9 ani anul acesta. Bineînțeles, acest lucru nu este atât de important atunci când comparați această vârstă cu vârsta JavaScript, care are deja 23 de ani, sau cu vârsta de 25 de ani a web-ului așa cum o știm dacă contați de la apariția mozaicului. browser.

 

9 ani reprezintă un timp scurt pentru tehnologie, dar acum se pare că platforma Node.js a existat dintotdeauna.

 

Cu Node.js din versiunile anterioare ale platformei, când avea doar 2 ani. Chiar și atunci, în ciuda faptului că nu existau atât de multe informații despre Node.js, s-ar putea deja simți că Node.js este foarte grav.

 

Acum să vorbim despre tehnologiile din spatele Node.js și să aruncăm o privire rapidă laprincipalele evoluții legate de această platformă.

 

Deci JavaScript este un limbaj de programare care a fost creat în Netscape ca limbaj de script pentru manipularea paginilor web în browserul Netscape Navigator.

O parte din afacerea Netscape a fost vânzarea de servere web, care includea un mediu numit Netscape LiveWire. Acesta v-a permis să creați pagini web dinamice folosind JavaScript de pe server.

 

ideea utilizării JS pentru dezvoltarea de pe server este mult mai veche decât Node.js. Această idee este aproape la fel de veche ca JavaScript în sine, dar la momentul respectiv, JS de pe server nu era popular.

 

Unul dintre factorii cheie care au făcut platforma Node.js atât de răspândită și populară este atunci când a apărut prima dată. Deci, cu câțiva ani înainte, JavaScript începuse să fie considerat un limbaj serios. Acest lucru s-a întâmplat datorită aplicațiilor Web 2.0 precum Google Maps sau Gmail, care au arătat lumii puterea tehnologiilor web moderne.

 

Datorită războiului competitiv al browserelor, care continuă până în prezent, performanța motoarelor JavaScript a crescut semnificativ. Echipele de dezvoltare din spatele principalelor browsere lucrează în fiecare zi pentru a îmbunătăți performanța soluțiilor lor, ceea ce are un efect benefic asupra JavaScript-ului în general.

 

Un astfel de motor este deja menționat V8, utilizat în browserul Chrome și utilizat în Node.js. Este unul dintre rezultatele dezvoltatorilor de browsere care se străduiesc să obțină un cod JavaScript performant.

 

Desigur, popularitatea Node.js se bazează nu numai pe o coincidență norocoasă și pe faptul că platforma sa născut la momentul potrivit. Ea a introdus lumea într-o abordare inovatoare a dezvoltării JavaScript pe partea de server. Să ne uităm la etapele majore din istoria Node.js.

 

2009


  • Apariția Node.js

  • Realizarea primei variante npm.

 

2010

  • Apariția Express.

  • Apariția Socket.io.

 

2011


  • Versiunea Npm 1.0.

  • Companii mari precum LinkedIn și Uber au început să folosească Node.js.

 

2012


  • Creșterea rapidă a popularității Node.js.

 

2013


  • Apariția Ghost, prima platformă majoră pentru publicații care utilizează Node.js.

  • Eliberarea Koa.

 

2014


  • În acest an au avut loc evenimente dramatice. A apărut proiectul IO.js, care este o bifurcație a Node.js, al cărui scop, printre altele, a fost să introducă suport ES6 și să accelereze dezvoltarea platformei.

 

2015


  • Fundația Node.js este fondată.

  • Combinarea IO.js și Node.js.

  • În npm, devine posibil să lucrați cu module private.

  • Yield Node.js 4 (trebuie remarcat faptul că versiunile 1, 2 și 3 de pe platformă nu erau).

 

2016


  • Incident cu pachetul stânga.

  • Apariția firului.

  • Versiunea Node.js 6.

 

2017


  • Npm începe să acorde mai multă atenție securității.

  • Lansarea Node.js 8

  • Apariția suportului pentru HTTP / 2.

  • V8 este recunoscut oficial ca un motor JS conceput nu numai pentru Chrome, ci și pentru Node.

  • Există 3 miliarde de descărcări pe minut în fiecare săptămână.

 

2018


  • Lansarea Node.js 10.

  • Suport pentru module ES.

  • Suport experimental mjs.