Introducere in NodeJS
Instalarea se face diferit pentru Windows si Linux.
Pentru Windows, instalarea se face folosind un kit care se poate descarca de pe pagina NodeJS. Trebuie doar sa alegeti varianta corespunzatoare sistemului de operare (32 sau 64 de biti). Aveti nevoie de parola de administrator doar la instalare.
Reporniti calculatorul dupa instalarea NodeJS.
Pentru Linux, NodeJS se poate instala fie din repository-urile distributiei (folosind apt-get sau yum), fie prin compilarea sursei de pe pagina NodeJS. Va recomandam instalarea prin compilare, deoarece versiunile din repository-uri sunt vechi.
Pentru compilare, descarcati sursele de pe pagina NodeJS. Aveti nevoie de gcc, g++, make, openssl, python instalate.
Compilarea se face folosind urmatoarele comenzi:
./configure make sudo make install
Dupa cums e poate observa, una dintre comenzi (cea cu sudo) are nevoie de un utlizator privilegiat. Daca nu aveti asa ceva, puteti instala NodeJS in contul local:
./configure --prefix=~/local make make install
Astfel veti avea un director local in directorul utilizatorului in care va fi instalat NodeJS. Pentru a functiona, trebuie sa adaugati o cale de cautare catre fisierele executabile ale NodeJS. Pentru acesta, adaugati in fisierul ~/.bashrc urmatoarea linie:
export PATH=$HOME/local/bin:$PATH
NodeJS este doar compilatorul si cateva biblioteci pentru programare. Pentru a adauga functionalitati, trebuie sa instalati biblioteci suplimentare. Acesta se face folosind comanda npm. Sintaxa este urmatoarea:
npm [-g] install nume_biblioteca
Instalarea bibliotecilor se face intr-un director numit node_modules. Acesta este fie directorul global al NodeJS (daca parametrul -g este specificat) fie in directorul curent.
Pentru laboratorul de astazi avem nevoie de biblioteca dict. Vom instala biblioteca in directorul curent la momentul potrivit.
npm install dict
NodeJS este doar compilatorul, asa ca pentru scrierea programelor aveti nevoie de un alt program. Puteti folosi orice program, noi recomandam:
Aveti nevoie de un terminal pentru a rula programele. NodeJS este similar cu python in acest sens. Un program se porneste folosind comanda:
node fisier_program.js
In Windows, proniti un terminal folosind comanda cmd.exe (atentie, nu rulati direct node.exe, acesta nu va executa un program, va pornit doar NodeJS in modul interactiv - adica asteapta instructiuni de javascript).
Sintaxa limbajului este similara cu cea din C. Variabilele au tip dinamic, adica tipul lor se schimba in functie de ce anume memoreaza.
Pe ecran se poate afisa folosind functiile console.log() si console.error (). Care este diferenta dintre acestea doua?
Exemplu:
console.log ('Hello from NodeJS');
Variabilele se declara folosind cuvantul cheie var.
var a; var b;
In Javascript exista trei tipuri de valori speciale, diferite una de alta.
Sirurile de caractere se scriu intre ghilimele ” sau aprostroafe '. Acestea se pot concatena folosind +.
Exemplu:
var a = 'Programam in'; var b = a + " Javascript"; console.log (b);
Functiile sunt similare cu cele din C, insa nu au un tip de intoarcere bine definit. O functie se declara folosind cuvantul cheie function urmat de numele functiei, paranteza deschisa, lista de parametrii, paranteza inchisa urmata de coldul functiei intre acolade.
Exemplu:
function egale (a, b) { if (a==b) return true; else return false; }
O functie poate intoarce orice tip de valoare. In functie de ce tip este scris dupa cuvantul return, functia va intoarce un tip sau altul. De asemenea, o functie intoarce mereu o valoare. Daca nu este folosit cuvantul return nicaieri, functie va intoarce undefined.
Exemplu:
function afiseaza () { console.log ('afiseaza'); } var n = afiseaza ();
Variabila n va avea valoarea undefined.
Sirurile sunt alocate dinamic in Javascript. Realizarea unui sir nou se face prin folosirea parantezelor drepte. Elementele dintr-un sir pot fi de tipuri diferite.
Exemplu:
// un sir vid var n = []; // un sir cu elemente omogene var n = [1,2,3]; // un sir cu elemente neomegene var n = [1, 'caractere', 10.5];
Sirurile pot fi folosite ca stive prin folosirea functiilor push si pop.
Dimensiunea sirului poate fi obtinuta prin variabila length.
Exemplu:
var a = [1,2,3]; a.push (4); // adauga 4 la in sir console.log (a); var x=a.pop (); // scoate ultimul element din sir console.log (x); console.log (a); console.log ('Sirul are '+a.length+' elemente');
TODO matrici
Spre deosebire de C, unde sructurile au un sablon prestabilit, in javascript structurile sunt dinamice. Acestea se declara folosind acolade. Se pot adauga si sterge dinamic membrii.
Exemplu:
var faraelemente = {}; var masa = { numarPicioare: 4, tip: 'lemn', culoare: 'verde', eticheta: '' }; console.log (faraelemente); console.log (masa);
Am declarat doua structuri: faraelemente este o structura fara membrii si masa o structura ce defineste o masa. Putem acum adauga membrii noi amandurora:
faraelemente.membru = 'membru'; masa.lungime= 300; console.log (faraelemente); console.log (masa); delete masa.eticheta; console.log (masa);
O structura poate contine ca mebrii siruri sau alte structuri:
var scaun { tapiterie: ['albastru','galben','verde'], culoare: 'portocaliu', vazator: { firma: 'firma', pret: 299 } };