JavaScript este una dintre cele trei mari componente ale găzduirii web: pe lângă HTML (structura paginii) și CSS (prezentare), limbajul de programare orientat pe obiecte oferă dinamizarea conținutului. Dar JavaScript nu este aplicabil doar în contextul designului de pagină. Aplicațiile de pe server pot fi, de asemenea, controlate cu JavaScript.
Originile lui JavaScript
În ciuda numelui, JavaScript are puține legături cu Java. Inițial, limbajul de scripting urma să se numească LiveScript și a fost dezvoltat de Netscape pentru interacțiunea Netscape Navigator cu applet-urile Java (aplicații client Java). Fiind de fapt un software proprietar, JavaScript a reprezentat un factor competitiv pentru companii precum Microsoft reprezentat. Aceștia au răspuns la dezvoltarea JavaScript cu propriile soluții, cum ar fi limbajul de scripting JScript. Cu toate acestea, de-a lungul timpului, JavaScript s-a impus ca principalul limbaj de scripting, acum suportat de toate browserele, pentru partea de client și (în plus față de php) dinamizare pe server.
Modificarea dinamică pe partea clientului
Probabil că cea mai utilizată caracteristică a JavaScript este posibilitatea dinamizării pe partea clientului. Clientul este browserul web. Dinamizarea pe partea clientului înseamnă că este manipulat conținutul afișat în client. HTML este descrierea statică a structurii unei prezențe web, așa-numitul Document Object Model (DOM). În timp ce CSS (Cascading Style Sheets) este utilizat pentru proiectarea separată a acestui "schelet", JavaScript oferă posibilitatea de a muta, șterge sau adăuga elemente HTML.
Această manipulare DOM (DOM scripting) poate fi utilizată în multe moduri. Prin intermediul așa-numiților gestionari de evenimente, funcțiile sunt inițial legate de anumite evenimente. Acestea pot fi clicuri ale utilizatorului, timpi sau chiar încărcarea site-ului web. ID-urile atribuite elementelor în HTML pot fi apoi folosite pentru a declanșa modificări bazate pe evenimente. Acest lucru poate include orice, de la programarea unor formulare simple și dinamice sau a unor filtre de tabele până la integrarea de playere video sau de grafice complexe și dinamice.
JQuery: Mai puțin complicat JavaScript
JavaScript este un exemplu de limbaje de programare orientate pe obiecte. Ca atare, pragul de intrare pentru designerii web fără experiență este relativ ridicat. Fără a limita (prea mult) funcționalitatea JavaScript, biblioteca JavaScript JQuery oferă o sintaxă simplificată care permite cele mai frecvente cazuri de utilizare într-un mod rapid și simplu. În timp ce JavaScript oferă o complexitate și o mutabilitate similare cu, de exemplu, Java sau Python, prin definirea prototipurilor (mai degrabă decât a claselor), a instanțelor (obiecte concrete) și a metodelor (funcții legate de obiecte), JQuery restricționează vocabularul și structurile. Comenzile pot fi îmbinate, astfel încât structura poate fi înțeleasă destul de repede. Prin urmare, cu excepția cazului în care aveți de-a face cu aplicații complexe și neobișnuite, există aproape sigur o soluție simplă în JQuery.
Dinamizarea pe partea serverului: AJAX și Node.js
Pe lângă manipularea DOM, JavaScript este utilizat și pentru comunicarea cu serverele, cum ar fi interogările bazelor de date. Din 2009 există node.js, un cadru pentru dinamizarea pe partea serverului cu JavaScript. Chiar și înainte de 2009 acest lucru era posibil, dar node.js permite o integrare mai ușoară. Pentru programatorii JavaScript, acest lucru reprezintă un avantaj, deoarece astfel nu mai este necesar să apeleze la alte limbaje precum php. În plus, node.js permite și o paralelizare a proceselor. Acesta este un avantaj, deoarece prea multe astfel de așa-zise fire pot duce la o stagnare. Cu node.js, cererile se execută pe un singur fir, ceea ce poate crește semnificativ performanța.
Node.js este un exemplu al posibilităților oferite de AJAX. Acronimul reprezintă o procedură numită Asynchronous JavaScript and XML. Acest principiu face posibilă solicitarea de conținut de la servere fără a fi necesară reîncărcarea întregii pagini. Pentru multe servicii web, cum ar fi YouTube, o reîncărcare completă după solicitări video sau încărcarea comentariilor ar fi un dezavantaj major. AJAX este, de asemenea, o soluție la problema acumulării de cereri datorită procesării asincrone, așa cum s-a explicat mai sus pentru Node.js.
Integrarea JavaScript
Integrarea de bază a JavaScript în ofertele web funcționează exact în același mod ca și conexiunea cu fișierele CSS. Deci există două posibilități pentru acest lucru: Pe de o parte, JavaScript poate fi utilizat în capul sau în corpul documentului HTML.