Ce este Node.JS in mai mult de 600 cuvinte

Node.js este o platforma dezvoltata pentru a crea aplicatii web de inalta performanta, cu un flux de lucru rapid si eficient. Acesta se bazeaza pe modelul de evenimente si non-blocking I/O (input/output) pentru a gestiona multe conexiuni simultan, in timp ce pastreaza resursele sistemului la un nivel minim.

Node.js este un runtime de JavaScript de pe server, care permite dezvoltarea aplicatiilor web dinamice prin intermediul JavaScript-ului. Este construit pe motorul JavaScript V8 al Google

Node.js ofera dezvoltatorilor posibilitatea de a scrie cod JavaScript pe partea de server, in loc de a utiliza alte limbaje precum PHP, Ruby sau Python. Acest lucru poate face procesul de dezvoltare mai eficient, deoarece dezvoltatorii nu mai trebuie sa treaca de la un limbaj la altul in timpul procesului de dezvoltare.

Node.js ofera, de asemenea, un modul npm (Node Package Manager) care permite accesul la o biblioteca vasta de module pre-construite, care pot fi utilizate pentru a realiza diferite sarcini, cum ar fi gestionarea bazelor de date, realizarea de cereri HTTP, criptare si multe altele.

In general, Node.js este o platforma versatila si scalabila, care poate fi utilizata pentru a dezvolta aplicatii web, aplicatii mobile, Internet of Things (IoT) si alte proiecte software. Este utilizat de numeroase companii mari, precum Walmart, Netflix si PayPal, si este una dintre platformele de dezvoltare web in continua crestere si evolutie.

Exista versiuni pentru toate sistemele de operare populare, inclusiv Windows, MacOS si Linux. Node.js poate fi instalat pe orice sistem de operare care ruleaza un nucleu Unix-like, inclusiv macOS, Linux si Windows 10. Versiunile specifice sistemului de operare pot fi descarcate de pe site-ul oficial al proiectului Node.js.

Node.js este un software open-source si gratuit, astfel incat poate fi descarcat si utilizat liber de oricine. Acesta poate fi utilizat atat pentru proiecte personale, cat si pentru proiecte comerciale, fara a fi necesar sa se plateasca taxe sau licente.

Dupa instalarea Node.js, puteti folosi aceasta platforma pentru a crea aplicatii web sau alte proiecte software prin intermediul codului JavaScript.

Iata cateva exemple detaliate de lucruri pe care le puteti face cu Node.js:

  1. Interpreteaza codul JavaScript: Dupa ce ati deschis terminalul sau linia de comanda, puteti incepe sa interpretati cod JavaScript in timp real prin intermediul comenzii „node”. Aceasta comanda va deschide un interpretor JavaScript care poate executa orice cod pe care il tastati in timp real.
  2. Ruleaza un script: Puteti scrie codul JavaScript intr-un fisier cu extensia .js si il puteti executa prin intermediul liniei de comanda sau terminalului, utilizand comanda „node [numele fisierului].js”. De exemplu, daca aveti un fisier numit „hello.js” care contine codul urmator:
    console.log('Hello, world!');
    

    Atunci puteti sa il executati prin intermediul liniei de comanda sau terminalului prin intermediul comenzii:

    node hello.js
    

    Aceasta va afisa „Hello, world!” in consola.

  3. Foloseste modulul HTTP: Node.js vine cu un modul integrat pentru HTTP, care permite crearea de aplicatii web. Puteti crea un server web simplu prin intermediul codului JavaScript si puteti gestiona cereri HTTP si raspunsuri prin intermediul acestui modul. De exemplu, puteti crea un server web simplu care sa raspunda la cereri GET cu codul urmator:
    const http = require('http');
    
    const server = http.createServer((req, res) => {
      res.writeHead(200, { 'Content-Type': 'text/plain' });
      res.end('Hello, world!');
    });
    
    server.listen(3000, () => {
      console.log('Server running on port 3000');
    });
    

    Acest cod creeaza un server web care asculta pe portul 3000 si care va raspunde la cereri GET cu „Hello, world!”. Puteti ruleaza acest cod prin intermediul liniei de comanda sau terminalului si puteti accesa serverul prin intermediul browserului, accesand adresa „http://localhost:3000„.

  4. Instaleaza module: Puteti instala module externe prin intermediul npm (Node Package Manager) si le puteti utiliza in proiectele dvs. npm este inclus in instalarea Node.js, astfel incat nu mai este necesar sa il instalati separat. Puteti instala module prin intermediul comenzii „npm install [numele modulului]”. De exemplu, puteti instala modulul „request” prin intermediul comenzii:
    npm install request
    

    Dupa instalarea modulului, il puteti includere in proiectul dvs. prin intermediul codului JavaScript cu ajutorul comenzii „require”. De exemplu, daca ati instalat modulul „request”, il puteti include in codul dvs. prin intermediul urmatorului cod:

    const request = require('request');
    
    request('http://www.google.com', (error, response, body) => {
      console.log('error:', error);
      console.log('statusCode:', response && response.statusCode);
      console.log('body:', body);
    });
    

    Acest cod foloseste modulul „request” pentru a face o cerere GET la adresa „http://www.google.com” si pentru a afisa informatii despre eroare, codul de status al raspunsului si corpul raspunsului in consola.

    Acestea sunt doar cateva exemple de lucruri pe care le puteti face cu Node.js. Exista o multime de alte module disponibile prin intermediul npm si puteti folosi aceasta platforma pentru a crea aplicatii web, servere, aplicatii de linie de comanda sau orice alt tip de proiect software. Este important sa invatati JavaScript inainte de a incepe sa lucrati cu Node.js, deoarece acesta este limbajul de programare folosit in acesta platforma.

Modulele Node.js sunt pachete de cod JavaScript care ofera functionalitati specifice pentru a fi utilizate in aplicatiile Node.js. Ele sunt scrise de catre dezvoltatori din intreaga lume si pot fi descarcate si utilizate prin intermediul npm (Node Package Manager), un sistem de gestionare a pieselor de cod.

Acestea pot fi module interne Node.js, cum ar fi „fs” (sistemul de fișiere) sau „http” (protocolul HTTP), sau module externe create de comunitate, cum ar fi „request” sau „express”. Aceste module pot fi incluse in proiectul dvs. prin intermediul comenzii „require” si pot fi utilizate pentru a adauga functionalitati specifice, cum ar fi accesul la baze de date, realizarea de cereri HTTP, manipularea fisierelor sau multe altele.

Folosind modulele, puteti sa va concentrati asupra partilor importante ale aplicatiei dvs. fara a fi nevoie sa reinventati roata pentru fiecare problema specifica la care va confruntati. De asemenea, puteti profita de codul si expertiza comunitatii Node.js si sa construiti proiecte mai rapid si mai eficient.

Exista o diferenta intre module si biblioteci in contextul dezvoltarii de software.

Modulele sunt unitati autonome de cod care pot fi importate si utilizate in alte proiecte. Ele sunt adesea scrise in limbaje de programare precum JavaScript si au un scop specific, cum ar fi accesul la baze de date sau realizarea de cereri HTTP.

Bibliotecile, pe de alta parte, sunt colectii de functii si clase care ofera functionalitati mai largi si mai complexe. Ele sunt adesea scrise in limbaje de programare precum C ++ sau Python si pot fi utilizate pentru a rezolva o varietate de probleme, cum ar fi procesarea de imagini sau prelucrarea de semnale.

In contextul Node.js, termenii „modul” si „biblioteca” sunt adesea utilizati in mod interchangeabil, deoarece conceptul de modul se aplica in special platformei Node.js. Totusi, puteti gandi la modulele Node.js ca fiind unitati mai mici si mai concentrate de cod, in timp ce bibliotecile sunt colectii mai ample de cod care pot fi folosite pentru a rezolva o varietate de probleme mai complexe.

Puteti dezvolta un proiect cu Node.js in orice locatie pe discul dvs. care are acces la linia de comanda sau terminal.

Pentru a incepe un proiect Node.js, trebuie sa creati un folder pentru proiect si sa deschideti terminalul sau linia de comanda in acest folder. Apoi puteti folosi comenzi precum „npm init” pentru a initializa un nou proiect npm sau puteti sa incepeti sa scrieti codul dvs. direct in editorul de text preferat.

Este important sa tineti cont de faptul ca anumite module sau biblioteci Node.js pot avea nevoie de acces la anumite fisiere sau resurse de pe disc, asa ca trebuie sa acordati atentie acestui aspect atunci cand alegeti locatia pentru proiectul dvs.

In general, puteti dezvolta un proiect cu Node.js oriunde pe discul dvs., atata timp cat aveti acces la linia de comanda sau terminal si la resursele necesare pentru a rula proiectul dvs..

Iata o lista detaliata cu pasi pentru dezvoltarea unui proiect cu Node.js:

  1. Instalati Node.js: Inainte de a incepe sa dezvoltati un proiect cu Node.js, trebuie sa il instalati pe calculatorul dvs. puteti descarca si instala cel mai recent pachet de instalare de la site-ul oficial nodejs.org.
  2. Creeaza un folder pentru proiect: Deschideti terminalul sau linia de comanda si navigati pana la locatia dorita pe discul dvs. unde doriti sa creati proiectul. Creeati un folder nou pentru proiectul dvs. folosind comanda „mkdir”.
  3. Initializati un proiect npm: In folderul proiectului, utilizati comanda „npm init” pentru a crea un fisier package.json pentru proiectul dvs. Acest fisier va retine informatii despre proiect, cum ar fi numele, versiunea si dependintele.
  4. Instalati module si biblioteci necesare: In functie de necesitatile proiectului dvs., puteti instala module si biblioteci suplimentare folosind comanda „npm install”. De exemplu, daca doriti sa utilizati express pentru a gestiona rutele dvs. de HTTP, puteti folosi comanda „npm install express”.
  5. Scrieti codul proiectului: Folosind un editor de text precum Visual Studio Code sau Sublime Text, puteti incepe sa scrieti codul proiectului dvs. Node.js. Asigurati-va ca codul dvs. include importuri pentru modulele si bibliotecile instalate, precum si definitiile pentru functiile si rutele dvs.
  6. Rulati proiectul: Folosind comanda „node [nume_fisier].js”, puteti sa rulati proiectul dvs. Node.js. Verificati output-ul in terminal sau in browser pentru a vedea daca proiectul functioneaza asa cum v-ati asteptat.
  7. Debug si testare: Continuati sa lucrati la codul proiectului dvs. si sa il debug-uiti si testati pana cand functioneaza asa cum v-ati dorit. Utilizati instrumente precum debugger-ul integrat in editorul de text sau module precum „nodemon” pentru a automatiza procesul de testare si debug.

Acestea sunt pasi de baza pentru dezvoltarea unui proiect cu Node.js. Procesul poate fi mai complex sau mai elaborat in functie de necesitatile si caracteristicile proiectului dvs.

Iata o lista a unor pachete Node.js populare si frecvent utilizate:

  1. Express: Un cadru minimal si flexibil pentru aplicatii web, care ofera suport pentru rute HTTP, gestionarea sesiunilor si a cookie-urilor, precum si multe alte caracteristici utile.
  2. Socket.IO: Un modul care permite realizarea comunicarii in timp real intre client si server, util pentru aplicatii de chat sau jocuri.
  3. MongoDB: Un driver Node.js pentru baza de date MongoDB, care ofera suport pentru conectarea si interactiunea cu baza de date MongoDB.
  4. Passport: Un modul pentru autentificarea cu multiple strategii, inclusiv autentificare prin OAuth cu servicii precum Facebook, Google si Twitter.
  5. Nodemon: Un utilitar care automatizeaza procesul de repornire a aplicatiei dupa fiecare modificare a codului, economisind timp si simplificand procesul de debug.
  6. Lodash: O biblioteca JavaScript de utilitati pentru manipularea datelor, care ofera functii pentru task-uri precum filtrarea, sortarea si gruparea datelor.
  7. Moment: O biblioteca JavaScript pentru manipularea datelor si timpului, care ofera functii pentru task-uri precum formatarea datelor si calcularea intervalelor de timp.
  8. Axios: O biblioteca JavaScript pentru realizarea solicitarilor HTTP, care ofera suport pentru asincronizare si gestionarea erorilor.

Acestea sunt doar cateva exemple de pachete Node.js populare si utilizate in mod frecvent. Exista multe alte pachete disponibile pentru o gama larga de scopuri si necesitati, prin intermediul registry-ului npm.

Pentru conectarea la baza de date MySQL in aplicatia Node.js, puteti folosi pachetul „mysql2”. Acesta ofera un modul Node.js care poate fi utilizat pentru a realiza conexiuni si interogari cu baza de date MySQL.

Pentru a instala pachetul „mysql2” in proiectul dvs., puteti folosi comanda urmatoare in terminal:

npm install mysql2

Dupa instalare, puteti importa modulul si folosi functiile sale pentru a realiza conexiuni si interogari cu baza de date MySQL.

Aici este un exemplu simplu care arata cum puteti realiza o conexiune la baza de date MySQL si efectua o interogare SELECT:

const mysql = require('mysql2');

// Crearea conexiunii cu baza de date MySQL
const connection = mysql.createConnection({
  host: 'localhost',
  user: 'root',
  password: 'yourpassword',
  database: 'yourdatabase'
});

// Efectuarea interogarii SELECT
connection.query('SELECT * FROM yourtable', (error, results) => {
  if (error) {
    console.error(error);
  } else {
    console.log(results);
  }
});

Acesta este un exemplu simplu care arata cum puteti folosi pachetul „mysql2” pentru a realiza conexiuni si interogari cu baza de date MySQL in aplicatia Node.js.

Puteți rulea mai multe servere cu Node.js, utilizând diferite biblioteci sau pași de cod. De exemplu, puteți crea mai multe instanțe ale bibliotecii „http” sau „express”, fiecare dintre acestea rulează propriul server web.

Aici este un exemplu care arată cum puteți crea mai multe servere HTTP cu Node.js:

const http = require('http');

const server1 = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Server 1');
});

const server2 = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('Server 2');
});

server1.listen(3000, () => {
  console.log('Server 1 running on port 3000');
});

server2.listen(3001, () => {
  console.log('Server 2 running on port 3001');
});

Acest exemplu arată cum puteți crea mai multe servere HTTP cu Node.js, fiecare cu propriul port și mesaj de răspuns. Puteți crea câte servere doriți, în funcție de necesitățile proiectului dvs..

Acest script ar trebui salvat într-un fișier din folderul proiectului dvs. De exemplu, puteți salva acest cod într-un fișier numit „index.js”. După ce ați salvat fișierul, puteți rula acest script utilizând comanda node index.js în linia de comandă sau terminal.

Este important să vă asigurați că aveți Node.js instalat pe calculatorul dvs. și că vă aflați în folderul proiectului când executați comanda node. Dacă totul a fost configurat corect, acest script ar trebui să pornească două servere HTTP și să afișeze mesaje de confirmare în consolă pentru fiecare server în parte.

La pornirea proiectului, trebuie să executați comanda node index.js în linia de comandă sau terminal, în folderul proiectului dvs. Aceasta va rulea script-ul Node.js salvat în fișierul „index.js” și va porni cele două servere HTTP definite în script. După ce serverele au fost pornite, puteți accesa fiecare server folosind browser-ul web sau orice alt instrument de testare a API-urilor, accesând adresa http://localhost:3000 pentru primul server și adresa http://localhost:3001 pentru cel de-al doilea server.

Cu Node.js puteți seta mai multe servere să ruleze pe aceeași adresă IP, dar fiecare server trebuie să aibă un port diferit.

De exemplu, în exemplul anterior, am creat două servere HTTP care rulează pe aceeași adresă IP localhost, dar fiecare server ascultă pe un port diferit: 3000 și 3001.

Acest lucru este posibil deoarece, atunci când accesați o adresă IP, trebuie să specificați și un număr de port. Porturile sunt simple numere întregi utilizate pentru a identifica diferite servicii sau aplicații care rulează pe aceeași adresă IP.

De exemplu, atunci când accesați http://localhost:3000, browser-ul dvs. trimite o cerere către adresa IP localhost la portul 3000, iar primul server Node.js ascultă la acest port și poate procesa cererea. Dacă accesați http://localhost:3001, browser-ul dvs. trimite o cerere către aceeași adresă IP localhost, dar la portul 3001, iar al doilea server Node.js ascultă la acest port și poate procesa cererea.

Puteți configura Node.js astfel încât să deschideți un anumit server în funcție de URL-ul accesat.

Acest lucru se face prin crearea de rute personalizate pentru fiecare server.

Pentru a face acest lucru, în codul dvs. Node.js, trebuie să utilizați un pachet popular, cum ar fi Express, pentru a crea rute personalizate. Fiecare rută poate fi asociată cu un URL specific și poate returna conținut diferit sau poate deschide un server diferit în funcție de URL-ul accesat.

De exemplu, dacă aveți un server care se ocupă de pagina principală a site-ului dvs. și un server care se ocupă de pagina de administrare a site-ului, puteți crea o rută pentru fiecare URL: / pentru pagina principală și /admin pentru pagina de administrare. Atunci când un utilizator accesează http://example.com/, prima rută va fi activată și pagina principală va fi returnată, iar când un utilizator accesează http://example.com/admin, a doua rută va fi activată și pagina de administrare va fi returnată.

Acestea sunt doar exemple simple, dar puteți crea rute personalizate pentru orice URL și orice conținut sau funcționalitate doriți să asociați cu acele URL-uri.

Daca vrei sa rulezi mai multe domenii pe acelasi server Node.js, atunci ai nevoie de un server DNS (Domain Name System).

Un server DNS este responsabil cu asociarea numelor de domenii cu adrese IP, astfel incat atunci cand utilizatorii acceseaza un anumit nume de domeniu, acestia sunt redirectionati catre adresa IP corespunzatoare a serverului tau Node.js.

Astfel, daca vrei sa rulezi mai multe domenii pe acelasi server, trebuie sa configurezi serverul tau DNS astfel incat sa asocieze fiecare domeniu cu aceeasi adresa IP a serverului Node.js.

Daca nu ai acces la un server DNS propriu, poti folosi servicii externe de gazduire DNS, cum ar fi Cloudflare sau Amazon Route 53, care iti permit sa configurezi si sa gestionezi asocierile nume de domenii – adrese IP.

Pentru a afisa datele rezultate din executia unui script Node.js in browser, trebuie sa utilizati un server web care sa ruleze scriptul Node.js si sa returneze rezultatele in format HTML sau JSON.

Acest lucru poate fi realizat prin intermediul unui framework de aplicatii web, cum ar fi Express sau Hapi, care pot procesa cereri HTTP si pot genera raspunsuri cu rezultatele din scriptul Node.js.

De asemenea, puteti utiliza un client HTTP, cum ar fi axios sau fetch, din JavaScript din browser pentru a face o cerere catre server si a primi raspunsul sub forma de date JSON sau HTML.

Acestea pot fi apoi afisate in browser prin intermediul DOM (Document Object Model) prin intermediul codului JavaScript.

Pasii generali pentru a afisa datele rezultate din executia unui script cu Node.js in browser sunt urmatorii:

  1. Creeaza un fisier HTML/in folderul proiectului in care sa incluzi un element destinat afisarii datelor, de exemplu un paragraf sau un element div.
  2. Creeaza un fisier JavaScript separat/in folderul proiectului sau incluzi codul JavaScript direct in elementul HTML folosind tag-ul script.
  3. In fisierul JavaScript, folosind XHR (XMLHttpRequest) sau o alta tehnologie similara, trimite o cerere catre server pentru a obtine datele dorite.
  4. In functia de raspuns la cerere, prelucreaza datele primite si actualizeaza elementul HTML destinat afisarii acestora.
  5. Deschide fisierul HTML in browser si verifica daca datele sunt afisate corect.

Proiecte demo in Node.js pot fi gasite in mai multe locatii online, inclusiv:

  1. GitHub: O sursa vasta de proiecte open-source realizate in Node.js.
  2. CodePen: O platforma online care permite utilizatorilor sa construiasca si sa testeze codul HTML, CSS si JavaScript, inclusiv cod Node.js.
  3. Glitch: O platforma online care permite utilizatorilor sa construiasca, sa colaboreze si sa publice proiecte web cu cod sursa deschis.
  4. JSFiddle: O platforma similara cu CodePen, unde utilizatorii pot crea, testa si partaja proiecte web.

Pentru a incepe sa lucrezi cu Node.js si Git, trebuie sa ai cunostinte de programare, preferabil in limbajul JavaScript, precum si sa cunosti bazele Git (cum sa faci un commit, un push etc).

In plus, ar fi util sa ai un editor de cod (cum ar fi Visual Studio Code), un cont pe o platforma Git (cum ar fi GitHub) si sa cunosti conceptele de baza ale Terminalului sau Command Prompt-ului.

Dupa ce ai acoperit aceste aspecte, poti incepe sa explorezi documentatia Node.js si sa creezi proiecte simple pentru a te obisnui cu limbajul si mediul. Este, de asemenea, important sa te familiarizezi cu uneltele si bibliotecile populare, precum npm (Node Package Manager), Express sau React.

Print Friendly, PDF & Email
Scroll to Top