Ce este Node.JS și de ce ar trebui să mă intereseze? [Dezvoltare web]
JavaScript este un limbaj de programare care rulează în browser, nu? Nu mai. Node.js este o modalitate de a rula JavaScript pe server; dar este și mai mult. Dacă sunteți interesat de dezvoltarea web-ului, ar trebui să aflați un pic despre Nod și de ce face valuri în comunitate.
Ce este Node.js?
Nodul este o interfață pentru runtime-ul JavaScript V8 - interpretul JavaScript foarte rapid care rulează în browserul Chrome. Așa cum se întâmplă, puteți să descărcați și V8 și să îl încorporați în orice; Nodul face asta, pentru serverele web. JavaScript este la urma urmei, doar o limbă - nu există nimic care să spună că nu poate fi folosit atât pe un server, cât și în browser-ul utilizatorului. Într-un stiv tipic de servere LAMP Cum se configurează un server Web Apache în 3 pași simpli Cum se configurează un server Web Apache în 3 pași simpli Indiferent de motiv, este posibil să doriți la un moment dat un server web. Dacă doriți să vă oferiți acces la distanță la anumite pagini sau servicii, doriți să obțineți o comunitate ... Citește mai mult, aveți un server web de bază Apache sau NGINX, cu PHP care rulează în partea de sus a acestuia. Fiecare nouă conexiune la server generează un fir nou, și este foarte ușor să pierzi rapid performanța sau pentru un site “du-te jos” - singura modalitate de a sprijini mai mulți utilizatori de a adăuga mai multe servere. Pur și simplu nu scară bine. Cu Node, nu este cazul. Nu există niciun Apache care să asculte conexiunile de intrare și să returneze codurile de stare HTTP - va trebui să vă ocupați singur de arhitectura serverului de bază. Din fericire, există module pentru a face acest lucru mai ușor, dar poate fi totuși puțin copleșitor atunci când începeți. Rezultatul, totuși, este o aplicație web de înaltă performanță.
JavaScript este un jQuery Tutorial bazat pe eveniment (Partea 4) - Tutorial pentru ascultarea evenimentelor jQuery Tutorial (Partea 4) - Ascultatori de evenimente Astazi vom incerca sa dam o nota si sa aratam cu adevarat unde jQuery straluceste - evenimente. Dacă ați urmat tutorialele trecute, acum ar trebui să aveți o înțelegere destul de bună a codului de bază ... Citește mai mult, deci orice se întâmplă pe server declanșează un eveniment care nu blochează. Fiecare nouă conexiune declanșează un eveniment; datele primite de la un formular de încărcare declanșează un eveniment primit de date; solicitarea de date din baza de date declanșează un eveniment. În practică, acest lucru înseamnă că un site de noduri nu va mai fi blocat și poate suporta zeci de mii de utilizatori concurenți. Node.js joacă rolul serverului - Apache - și interpretează codul aplicației care rulează pe acesta. La fel ca Apache, există diverse module (biblioteci) care pot fi instalate pentru a adăuga caracteristici și funcționalități - cum ar fi magazinele de date, suportul pentru fișiere Zip, login-ul Facebook sau gateway-urile de plată. Desigur, nu există aproape atât de multe ca și pentru PHP, dar Nodul se află încă în stadiu incipient și există o comunitate puternică în spatele acestuia. Un concept de bază al nodului este funcțiile asincronice - deci totul se desfășoară în fundal, practic. Cu majoritatea limbilor de scripting pe partea de server, programul trebuie să aștepte în timp ce fiecare funcție este finalizată înainte de a trece la următoarea. Cu Nodul, specificați funcțiile care ar trebui să fie executate după terminarea altceva, în timp ce restul aplicației dvs. se deplasează. Este o temă complexă pe care nu o voi profita astăzi prea mult, ci una din acele caracteristici care definește Nodul, deci este important să o înțelegeți. Încă destul de chat - aici este un exemplu HTTP server Hello World pentru a da o idee rapidă despre unele dintre aceste concepte.
var http = necesită ("http"); http.createServer (funcție (cerere, răspuns) response.writeHead (200, 'Content-Type': 'text / plain')) ) .listen (8080); console.log ("Serverul rulează!");
Să încercăm să ne descurcăm. Mai întâi, noi includem http modul în proiect. Apoi creăm un server și transmitem o funcție anonimă ca parametru - această funcție va fi apelată pentru fiecare nouă conexiune făcută. Este nevoie de două argumente - cerere, conținând parametrii de solicitare de la utilizator; și raspuns, pe care o vom folosi pentru a trimite lucrurile înapoi. Apoi, folosim obiectul de răspuns pentru a scrie un antet înapoi către utilizator cu codul HTTP de răspuns 200 (“O.K”) și tipul de conținut, scriind a “Salut Lume!” mesaj și terminând răspunsul. În cele din urmă, îi spunem serverului să asculte portul 8080 pentru cererile primite și să trimită un mesaj rapid către consola (linia de comandă) pentru a ne anunța că rulează. Dacă doriți să încercați acest lucru pentru dvs., salvați codul de mai sus ca fiind test.js, descărcați programul de instalare a nodurilor și executați din linia de comandă -
nod test.js
Deschideți un browser și navigați la localhost: 8080 pentru a vedea aplicația dvs. de testare! Ar trebui să aveți acum o mică idee despre cum funcționează întregul lucru asincron, împreună cu modelele bazate pe evenimente. Dacă sunteți nou în JavaScript, conceptul de trecere a funcțiilor ca argumente pentru alte funcții este probabil puțin ciudat.
De ce să folosiți Nodul?
În primul rând, pentru performanță și scalabilitate. Nodul este rapid. Aceasta este o cerință destul de importantă atunci când sunteți un start-up care încearcă să facă următorul lucru mare și doriți să vă asigurați că puteți scala rapid, coping cu un aflux de utilizatori pe măsură ce site-ul dvs. crește. Nodul este, de asemenea, perfect pentru a oferi o RESTful API - un serviciu web care necesită câțiva parametri de intrare și transmite un pic de date înapoi - manipulare simplă a datelor fără o cantitate imensă de calcul. Nodul se poate ocupa de mii de aceștia în același timp în care PHP s-ar prăbuși. Performanțele de performanță și scalabilitatea deoparte, există o șansă bună să știți deja unele JavaScript, deci de ce deranjează învățarea unei limbi complet noi, cum ar fi PHP? Și apoi - există entuziasmul de a învăța ceva nou și relativ neexplorat. Știi când sosește ceva nou și apoi devine atât de omniprezent încât regreți să nu-l înveți mai devreme, jucând pentru totdeauna jocul? Nu face asta de data asta. Nodul va fi mare.
dezavantaje
Ca majoritatea tehnologiilor noi, nu este ușor să implementăm Nodul pe gazdele existente. Dacă aveți o găzduire web comună, nu puteți încărca pur și simplu o aplicație Nod și vă așteptați ca aceasta să funcționeze. VPS și serverele dedicate sunt poziționate mai bine - puteți instala nodul pe ele. Este chiar mai ușor să utilizați un serviciu scalabil, cum ar fi Heroku, care este complet gratuit pentru a vă dezvolta site-ul - trebuie să plătiți doar atunci când aveți nevoie de mai multe resurse. Am dat un exemplu de folosire a lui Heroku înainte când am folosit-o pentru a crea un fangat Facebook, dar poate fi folosit și pentru nod. Pe de altă parte, este foarte ușor să instalați nodul local pe PC-ul Windows, Mac sau Linux și să începeți să dezvoltați imediat - doar să mergeți la Download Node. De asemenea, este important să rețineți că Node nu este doar un înlocuitor pentru Apache - aplicațiile web existente nu sunt compatibile și veți lucra efectiv de la zero (deși există o mulțime de cadre acolo pentru a vă ajuta cu caracteristici comune). Celălalt dezavantaj major al nodului este că acesta se află încă în stadii incipiente de dezvoltare, adică unele caracteristici se pot schimba odată cu progresul dezvoltării. De fapt, dacă vă uitați la documentație, acesta include un index de stabilitate, care arată cât de riscant este utilizarea fiecărei caracteristici în prezent. Știți - nu a fost niciodată un moment mai interesant de a fi un dezvoltator web. Cu ajutorul serviciilor web deschise și al schimbului de date, este mai ușor ca oricând să faceți ceva minunat. Te gândești la Nodul de învățare? Bun. Mergeți și faceți următorul Twitter! Probabil că veți dori, de asemenea, o bună fundamentare a bibliotecii jQuery Javascript Tutorial jQuery - Noțiuni de bază: Elementele de bază și selectorii JQuery Tutorial - Noțiuni de bază: Elementele de bază și selectorii Săptămâna trecută am vorbit despre cât de important este jQuery pentru orice dezvoltator web modern și de ce este minunat. În această săptămână, cred că este timpul să ne murdărim mâinile cu un cod și să învățăm cum ... Citește mai mult pentru partea din față.
Explorați mai multe despre: JavaScript, Programare, Web Design, Dezvoltare Web.