JavaScript je jedným z troch veľkých webhostingov: okrem HTML (štruktúra stránky) a CSS (prezentácia), objektovo orientovaný programovací jazyk ponúka dynamizáciu obsahu. JavaScript však nie je použiteľný len v kontexte návrhu stránky. Aplikácie na strane servera možno ovládať aj pomocou JavaScriptu.
Pôvod jazyka JavaScript
Napriek názvu má JavaScript len málo spoločného s Javou. Pôvodne sa skriptovací jazyk mal nazývať LiveScript a bol vyvinutý spoločnosťou Netscape na interakciu aplikácie Netscape Navigator s appletmi Java (klientské aplikácie Java). JavaScript, ako skutočne proprietárny softvér, predstavoval konkurenčný faktor pre spoločnosti ako napr. Microsoft zastúpené. Tie reagovali na vývoj JavaScriptu vlastnými riešeniami, napríklad skriptovacím jazykom JScript. Postupom času sa však JavaScript etabloval ako hlavný skriptovací jazyk, ktorý je v súčasnosti podporovaný všetkými prehliadačmi, a to na strane klienta a (okrem php) dynamizácia na strane servera.
Dynamizácia na strane klienta
Pravdepodobne najpoužívanejšou funkciou jazyka JavaScript je možnosť dynamizácie na strane klienta. Klientom je webový prehliadač. Dynamizácia na strane klienta znamená, že sa manipuluje s konkrétnym obsahom zobrazeným v klientovi. HTML je statický opis štruktúry webovej stránky, takzvaný objektový model dokumentu (DOM). Zatiaľ čo CSS (Cascading Style Sheets) sa používa na samostatný návrh tejto "kostry", JavaScript ponúka možnosť presúvať, odstraňovať alebo pridávať prvky HTML.
Túto manipuláciu s DOM (skriptovanie DOM) možno použiť mnohými spôsobmi. Funkcie sú pôvodne viazané na určité udalosti prostredníctvom tzv. obsluhy udalostí. Môže ísť o kliknutia používateľa, časy alebo dokonca načítanie webovej stránky. Zmeny založené na udalostiach sa potom môžu spúšťať prostredníctvom ID priradených prvkom v HTML. To môže zahŕňať všetko od programovania jednoduchých dynamických formulárov alebo filtrov tabuliek až po vkladanie prehrávačov videa alebo zložitej dynamickej grafiky.
JQuery: Menej komplikovaný JavaScript
JavaScript je príkladom objektovo orientovaného programovacieho jazyka. Preto je vstupný prah pre neskúsených webových dizajnérov pomerne vysoký. Knižnica JavaScript JQuery ponúka zjednodušenú syntax, ktorá umožňuje najbežnejšie prípady použitia rýchlym a jednoduchým spôsobom, bez toho, aby obmedzovala funkčnosť jazyka JavaScript. Zatiaľ čo JavaScript so svojou definíciou prototypov (namiesto tried), inštancií (konkrétnych objektov) a metód (funkcií viazaných na objekty) ponúka podobnú komplexnosť a premenlivosť ako napríklad Java alebo Python, JQuery obmedzuje slovník a štruktúry. Príkazy sa dajú vkladať, takže ich štruktúru možno pochopiť pomerne rýchlo. Preto, ak nejde o zložité a neobvyklé aplikácie, je veľmi pravdepodobné, že existuje jednoduché riešenie v JQuery.
Dynamizácia na strane servera: AJAX a Node.js
Okrem manipulácie s DOM sa JavaScript používa aj na komunikáciu so servermi, napríklad na dotazy do databázy. Od roku 2009 existuje node.js, rámec na dynamizáciu na strane servera pomocou jazyka JavaScript. To bolo možné už pred rokom 2009, ale node.js umožňuje jednoduchšiu integráciu. To je výhoda pre programátorov v jazyku JavaScript, pretože sa už nemusia uchyľovať k iným jazykom, ako je php. Okrem toho node.js umožňuje aj paralelizáciu procesov. To je výhoda, pretože príliš veľa týchto takzvaných vlákien môže viesť k zablokovaniu. V systéme node.js bežia požiadavky v jednom vlákne, čo môže výrazne zvýšiť výkon.
Node.js je príkladom možností AJAXu. Táto skratka znamená postup nazvaný Asynchrónny JavaScript a XML. Tento princíp umožňuje požadovať obsah zo serverov bez toho, aby sa musela načítať celá stránka. Pre mnohé webové ponuky, ako je YouTube, by bolo úplné načítanie po požiadavkách na video alebo načítanie komentárov veľkou nevýhodou. AJAX je tiež riešením problému hromadenia požiadaviek vďaka asynchrónnemu spracovaniu, ako je vysvetlené vyššie pre Node.js.
Integrácia JavaScriptu
Základná integrácia JavaScriptu do webových ponúk funguje presne tak isto ako prepojenie so súbormi CSS. Existujú dve možnosti: Na jednej strane sa JavaScript môže používať v hlavičke alebo na druhej strane v tele dokumentu HTML.