Sunteți pe pagina 1din 7

Programare WEB – Curs 1

1. INTRODUCERE

JavaScript este la ora actuală cel mai popular limbaj de programare din lume, un limbaj
de scripting folosit intensiv în web, la aproape orice aplicație completă, din domeniul business,
din domeniul comerțului electronic sau chiar pentru gestionarea proceselor. Chiar dacă Java
Script are aceeași metodologie de programare și o sintaxă similară, nu reprezintă o versiune mai
ușoară a lui Java ( de fapt nu are aproape nimic în comun cu Java, numele similar a fost ales din
motive de marketing. Atunci când a fost introdus JavaScript, limbajul Java era bine cunoscut pe
piață și deja creștea în popularitate. Cineva s-a gândit că este o idee bună să se profite de acest
succes).

Java Script reprezintă un limbaj dinamic, compatibil cu toate tipurile de browsere, ce


permite o interacțiune îmbunătățită cu utilizatorul deopotrivă pentru site-uri și aplicații web.

1.1. Scurt istoric

JavaScript a apărut în 1995. Principalul scop al limbajului a fost extinderea capacităților


HTML-ului cu programe, adică se verifica dacă un câmp a fost lăsat gol sau o valoare introdusă
dintr-un formular a fost introdusă greșit sau e invalidă. S-a oferit o alternativă parțială la utilizarea
unui număr mare de scripturi pentru prelucrarea informațiilor din formulare. La momentul acela,
Netscape Navigator a încercat cu ajutorul lui Java Script, capabilitatea de a putea valida datele
unor clienți, ceea ce a reprezentat o nouă caracteristică, la momentul în care să ne aducem
aminte de folosirea modem-urilor, a căror viteză de conectare la server însemna de fiecare dată
un exercițiu de răbdare. De atunci, importanța limbajului Java Script a crescut cu fiecare browser
web apărut. Nemaiavând legătură doar cu simpla validare, Java Script interacționează cu aproape
toate aspectele ce se regăsesc în browser-e. La ora actuală, Java Script este recunoscut ca un
limbaj de programare, capabil de interacțiuni și calcule complexe, ce includ de exemplu funcții
anonime, sau meta-programare. Java Script a devenit o parte atât de importantă a web-ului, încât
și browser-ele alternative precum cele de pe mobile sau cele pentru utilizatorii cu dizabilități
suportă acest limbaj. Chiar și Microsoft, cu propriul script numit VB Script a inclus propria
implementare a lui Java Script în Internet Explorer, încă de la prima versiune a acestui browser.
Programare WEB – Curs 1

Ascensiunea lui Java Script de la un simplu validator de conținut introdus până la limbajul
de programare foarte puternic care este în prezent nu a putut fi prezisă. Pe măsură ce web-ul a
câștigat popularitate a crescut și nevoia pentru dezvoltarea de limbaje de tip client-side scripting.
La acel moment de timp, majoritatea utilizatorilor de Internet erau conectați la modem-uri de
28.8kbps, cu toate că paginile web creșteau în complexitate și mărime.

Brendan Eich, care lucra pe vremea aceea la Netscape , a început să dezvolte un scripting
language, limbaj numit Mocha și mai târziu Live Script pentru apariția lui Netscape Navigator 2
din 1995, cu intenția de a le folosi pe amândouă: în browser și pe server (unde era numit
LiveWire). După lansarea limbajului Java, Netscape a realizat o alianță cu firma Sun Microsystems,
cu scopul de a crea un limbaj de script cu o sintaxă și semantică asemănătoare cu a limbajului
Java, pentru a termina implementarea lui Live Script la timp. Chiar înainte de apariția lui Netscape
Navigator 2, Netscape a schimbat numele lui Live Script în Java Script, pentru a valorifica atenția
pe care o acorda presa lui Java. Din cauză că Java Script 1.0 a avut un asemenea succes, Netscape
a scos versiunea 1.1 pentru Netscape Navigator 3. Popularitatea acestuia a fost atât de mare,
încât Netscape s-a poziționat ca fiind lider între companiile din piață. În acel moment de timp,
Microsoft a decis să aloce mai multe resurse pentru un browser mai competitiv, pe care l-a numit
Internet Explorer. La scurt timp după apariția lui Netscape Navigator 3, în august 1996, Microsoft
a introdus Internet Explorer 3 cu o implementare a lui Java Script numită JScript (numită astfel
pentru a evita orice posibile probleme legate de licență cu Netscape). Acest lucru reprezintă un
pas major în dezvoltarea lui Java Script ca și limbaj. Implementarea proprie a lui Microsoft a lui
Java Script a dus la două versiuni: Java Script din Netscape Navigator și JScript din Internet
Explorer. Spre deosebire de C și alte limbaje de programare, Java Script nu avea standarde pentru
sintaxă sau caracteristici, astfel s-a ajuns la decizia ca acest limbaj să fie standardizat.

În 1997, Java Script 1.1 a fost trimis la European Computer Manufacturer’s Association
(ECMA) sub formă de propunere. Comitetul tehnic #39 (TC39) a fost desemnat să-l standardizeze.
Programatori de la Netscape, Sun, Microsoft, Borland, NOMBAS și alte companii cu interes în
viitorul scripting-ului, au așteptat un standard ECMA – 262 care să definească un nou limbaj,
numit ECMAScript standard. În următorul an, Organizația Internațională pentru Standardizare și
Programare WEB – Curs 1

Comisia Internațională Electrotehnică (ISO/IEC) au adoptat ECMA Script ca și standard ISO/IEC-


16262.

1.2. Implementări ale lui Java Script

O implementare completă a lui Java Script este realizată din 3 părți distincte: nucleul
(ECMA Script), DOM (Document Object Model), BOM (Browser Object Model).

ECMA Script, limbajul definit de ECMA – 262, nu este legat de browser-e. De fapt, limbajul
nu are metode pentru input sau output. ECMA – 262 definește acest limbaj ca și bază pentru
limbajele de scripting. Browser-ele de web sunt privite ca și medii gazdă în care poate exista
implementări ale lui ECMA Script. Extensii, precum DOM, folosesc sintaxa limbajului pentru a
oferi alte funcționalități care sunt mai specifice mediului. Printre alte medii gazdă se regăsesc
NodeJS, o platformă Java Script orientată spre server și Adobe Flash.

La un nivel de bază, ECMA – 262 descrie următoarele părți ale limbajului: sintaxă, tipuri,
declarații, cuvinte cheie, cuvinte rezervate, operatori, obiecte.

ECMA Script este doar o descriere a unui limbaj, ce implementează tot ceea ce este descris
în specificație. Java Script dar și Adobe Action Script implementează ECMA Script.

Versiunile diferite ale lui ECMA Script sunt definite ca și ediții. Cea mai recentă ediție a lui
ECMA -262 este ediția 5, din 03.12.2009, ce introduce noi funcționalități, precum obiecte de tip
JSON pentru parsarea și serializarea datelor JSON.

Document Object Model (DOM) este o interfață pentru XML ce a fost extinsă pentru a fi
folosită în HTML. DOM-ul mapează o pagină întreagă ca o ierarhie de noduri. Fiecare parte dintr-
o pagina HTML sau XML este un anumit tip de nod ce conține tipuri diferite de date.
Programare WEB – Curs 1

Prin crearea unui arbore pentru a reprezenta un document, DOM permite dezvoltatorilor un nivel
de control asupra structurii și conținutului. Nodurile pot fi adăugate, eliminate, înlocuite și
modificate ușor folosind DOM API. Din cauză că Internet Explorer 4 și Netscape Navigator 4
suportă fiecare forme diferite ale lui DHTML (Dynamic HTML), dezvoltatorii pot altera forma și
conținutul unei pagini web fără să o mai reîncarce. Astfel, W3C a creat un standard pentru
comunicații web și anume DOM.

DOM Nivelul 1 a devenit o recomandare a W3C în 1998 , cu scopul de a mapa structura unui
document și conține 2 module:

-nucleul DOM, ce oferă o metodă pentru maparea structurii unui document XML, ce permite un
acces ușor și manipularea oricărei părți a documentului

-DOM HTML ce extinde nucleul DOM prin adăugarea de obiecte și metode specifice HTML.

DOM Nivelul 2 reprezintă o extensie a DOM-ului original prin adăugarea suportului pentru mouse
și a evenimentelor specifice interfeței cu utilizatorul și suport pentru CSS

De notat: DOM nu este specific lui Java Script, fiind implementat în numeroase alte limbaje.
Pentru browser-ele web, DOM a fost implementat folosind ECMA Script. Se poate să întâlniți
referințe despre DOM Nivelul 0. Nu există un standard numit astfel, ci este o referință la suportul
original DHTML în Internet Explorer 4.0 și Netscape Navigator 4.0.
Programare WEB – Curs 1

Pe lângă nucleul DOM (DOM Core) și interfețele DOM HTML, alte câteva limbaje au propriul DOM
standardizat. Pentru următoarele limbaje fiecare DOM adaugă metode și interfețe unice specifice
acelui limbaj:

- SVG (Scalable Vector Graphics) 1.0,

- MathML (Mathematical Markup Language) 1.0,

- SMIL (Synchronized Multimedia Integration Language).

Și alte limbaje au implementări proprii pentru DOM, precum Mozilla’s XML User Interface
Language (XUL). Cu toate acestea, doar limbajele din lista de mai sus sunt recomandate de W3C.

Browserele Internet Explorer 3 și Netscape Navigator 3 au BOM (Browser Object Model)


ce permite accesul și manipularea ferestrei de browser. Folosind BOM, dezvoltatorii pot
interacționa cu browserul în afara contextului paginii afișate. Ceea ce a făcut ca BOM să fie unic
și adesea problematic este faptul că nu are un standard. Acest lucru s-a schimbat odată cu
introducerea lui HTML 5, care a încercat o codificare a lui BOM ca parte a unei specificații formale.
Extensii ale BOM:

- Capacitatea de a afișa în format pop-up ferestre noi de browser


- Capacitatea de a muta, redimensiona și închide ferestrele de browser
- Obiectul navigator ce oferă informații detaliate despre browser
- Obiectul location ce oferă informații detaliate despre pagina încărcată în browser
- Obiectul screen ce oferă informații detaliate despre rezoluția folosită de către
utilizator
- Suport pentru cookies
- Obiecte precum XMLHttpRequest și Internet Explorer’s ActiveXObject

Pentru că nu există standard pentru BOM, fiecare browser are propria implementare. Există
câteva standarde de facto, precum a avea un obiect window și un obiect navigator, dar fiecare
browser își definește proprietățile și metodele pentru acestea (dar și alte obiecte). Odată cu
HTML5, are loc o implementarea mai detaliată a lui BOM.
Programare WEB – Curs 1

1.3. Java Script în HTML

Limbajul HTML oferă creatorilor de pagini Web o flexibilitate statică, deoarece documentele
HTML nu pot interacționa în alt mod mai dinamic cu utilizatorul, decât folosind și alte resurse. O
astfel de resursă este și crearea de CGI-uri (Common Graphics Interface), adică programe ce
rulează pe serverul Web și care acceptă informații primite din pagina Web și returnează cod
HTML.

Principala metodă de a insera cod Java Script într-o pagină HTML, este dată de folosirea etichetei
<script> și </script>. Această etichetă necesită atributul "type", care va specifica browser-ului
limbajul folosit. În interiorul etichetei <script> și </script> se va scrie codul. Atributul "type" va
avea următoarea sintaxă type="text/javascript".

Pentru scrierea și executarea programelor Java Script avem nevoie de un simplu editor de texte
și un browser. Această etichetă <script> și </script> a fost creată de Netscape și a fost pentru
prima dată implementată în Netscape Navigator 2. Mai târziu, fiind adăugată la formalismul
specificațiilor HTML.

Există două moduri de a folosi <script>:

a) fiind inclus direct în pagină

Pentru a include în pagină codul Java Script, se va scrie codul direct în eticheta <script>, de
exemplu:

<script type="text/javascript">
document.write("Hello World");
</script>

În acest exemplu, comanda document.write este folosită pentru a tipări ceva în pagină. Rezultatul
acestui script , afișat în pagina Web va fi:
Programare WEB – Curs 1

b) folosind cod Java Script dintr-un fișier extern, de exemplu “cod.js”, codul din documentul
HTML va fi

<script src="cod.js" type="text/javascript"> </script>

Iar fișierul “cod.js” va conține document.write("Hello World");

Rezultatul afișat în pagina Web va fi același ca-n exemplul anterior.

S-ar putea să vă placă și