Cursuri AIBD

Imagine preview
(8/10 din 2 voturi)

Acest curs prezinta Cursuri AIBD.
Mai jos poate fi vizualizat un extras din document (aprox. 2 pagini).

Arhiva contine 1 fisier pdf de 73 de pagini .

Iti recomandam sa te uiti bine pe extras si pe imaginile oferite iar daca este ceea ce-ti trebuie pentru documentarea ta, il poti descarca.

Fratele cel mare te iubeste, acest download este gratuit. Yupyy!

Domeniu: Calculatoare

Extras din document

1. Ce este Node?

Node este o platformă foarte populară, relativ nouă (a debutat în 2009) pentru dezvoltarea

aplicațiilor web. Este al doilea cel mai urmărit proiect pe GitHub (https://github.com/nodejs), are

mulți urmăritori/followers pe grupul Google(https://groups.google.com/forum/#!forum/nodejs)

și mai mult de 240.000 de module publicate de comunitate în NPM - managerul de pachete

(https://www.npmjs.com/).

Prima prezentare a lui Node de către creatorul Ryan Dahl la Berlin, în 2009 poate fi urmărită pe

website-ul: http://www.jsconf.eu/2009/video_nodejs_by_ryan_dahl.html.

Site-ul oficial https://nodejs.org/en/ definește Node ca o platformă construită pe mediul de

execuție JavaScript din Chrome pentru a construi ușor și rapid aplicații de rețea scalabile. Node

folosește un model bazat pe evenimente, I/O care nu se blochează, ceea ce îl face rapid și eficient,

perfect pentru aplicații de procesare în timp real a cantităților mari de date (DIRT) ce se execută

pe toate dispozitivele distribuite.

1.1. Construit pe JavaScript

JavaScript este unul din cele mai populare limbaje de programare din lume

(https://www.youtube.com/watch?v=Trurfqh_6fQ). Conform indexului de popularitate Tiobe

(http://www.tiobe.com/tiobe_index?page=index), limbajul JavaScript ocupă în februarie 2016

locul 9. Încă din anul 2005, JavaScript a fost folosit pentru a fi create programe importante:

Google Maps , Gmail, o serie de aplicații web, de exemplu: Twitter, Facebook, GitHub. Încă din

2008, de la lansarea lui Google Chrome, performanța lui JavaScript a avut o rată de îmbunătățire

foarte mare datorită concurenței dintre bowsere (Mozilla, Microsoft, Apple, Opera, Google).

Performanța mașinilor virtuale moderne JavaScript schimbă tipurile de aplicații ce pot fi

construite pe web (https://www.chromeexperiments.com/). Un exemplu, cred că destul de

convingător este jslinux, un emulator PC executat în JavaScript (http://bellard.org/jslinux/), în

care se poate încărca un kernel Linux, interacționa cu un terminal și compila un program C, toate

acestea în browser.

Node folosește V8, mașina virtuală de la Google Chrome pentru programarea server-side. V8 dă

un impuls mare performanței deoarece preferă compilarea direct în cod mașină față de executare

codului bytecod sau folosirea unui interpretor. Deoarece Node folosește JavaScript pe server

există și alte beneficii:

- Dezvoltatorii pot scrie aplicații web într-un singur limbaj, ceea ce ajută la reducerea

schimbării contextului dintre dezvoltarea pentru client și cea pentru server

- JSON(JavaScript Object Notation - http://www.json.org/) este un format foarte popular,

de tip data-interchange, nativ JavaScript

- JavaScript este limbajul folosit în baze de date NoSQL(precum Redis - http://redis.io/ și

MongoDB - https://www.mongodb.org/)

- Există numeroase limbaje care compilează în JavaScript:

https://github.com/jashkenas/coffeescript/wiki/List-of-languages-that-compile-to-JS

- Node folosit pe mașina virtuală V8 este conform standardului ECMAScript

(https://en.wikipedia.org/wiki/ECMAScript)

1.2. Browser-ul

Node oferă o platformă asincronă, bazată pe evenimente (event-driven) pentru JavaScript de tip

server-side. Este important să înțelegem cum funcționează un browser pentru a putea înțelege

cum funcționează Node. Ambele sunt conduse de evenimente (folosesc event loop -

https://en.wikipedia.org/wiki/Event_loop) și Input/Output asincron

(https://en.wikipedia.org/wiki/Asynchronous_I/O).

Codul anterior jQuery execută o cerere Ajax folosind XML HttpRequest. Acest program execută o

cerere HTTP pentru resource.json. Atunci când se primește răspunsul, este apelată o funcție

anonimă (callback) ce conține argumentul data, adică datele primite din acea cerere.

În exemplu, se presupune că răspunsul pentru fișierul resource.json va fi stocat în variabila data

atunci când este gata iar funcția console.log nu se va executa până atunci. Operația de

intrare/ieșire (I/O), adică cererea Ajax ar bloca execuția scriptului să continue până este gata. Din

cauză că browserul este single threaded, dacă această cerere ar dura 400 de milisecunde până se

întoarce răspunsul, orice alte evenimente care s-ar întâmpla în acea pagină ar aștepta până

atunci, înainte de a putea fi executate. Vă puteți imagina experiența trăită de utilizatori dacă o

animație este oprită sau dacă aceștia încearcă să interacționeze într-un anume mod cu pagina.

Dar nu este cazul, deoarece când se întâmplă I/O în browser, se întâmplă în afara buclei de

evenimente, adică în afara execuției scriptului principal și apoi este emis un eveniment când I/O

se termină, care este manipulat de către o funcție, adesea numită callback.

I/O se întâmplă asincron. El nu blochează execuția scriptului, permițând buclei de evenimente să

răspundă oricărei interacțiuni sau cereri formulate în pagină. Acest lucru permite ca browserul

să fie receptiv pentru client și să se ocupe de interactivitatea din pagină.

Fisiere in arhiva (1):

  • Cursuri AIBD.pdf