A JavaScript egyike a webtárhely nagy hármasának: a következő mellett HTML (oldalszerkezet) és a CSS (megjelenítés), az objektumorientált programozási nyelv a tartalom dinamizálását kínálja. A JavaScript azonban nem csak az oldaltervezésben alkalmazható. A szerveroldali alkalmazások JavaScript segítségével is vezérelhetők.
A JavaScript eredete
A neve ellenére a JavaScriptnek kevés köze van a Javához. Eredetileg a szkriptnyelv neve LiveScript lett volna, és a Netscape fejlesztette ki a Netscape Navigator és a Java appletek (Java kliensalkalmazások) kölcsönhatására. Mivel a JavaScript tulajdonképpen szabadalmaztatott szoftver, a JavaScript versenyképességi tényezőt jelentett az olyan vállalatok számára, mint például a Microsoft képviseltette magát. Ezek a JavaScript fejlesztésére saját megoldásokkal reagáltak, például a JScript szkriptnyelvvel. Idővel azonban a JavaScript elsődleges szkriptnyelvvé vált, amelyet ma már minden böngésző támogat, a kliensoldali és (a böngészőkön kívül) a php) szerveroldali dinamizálás.
Ügyféloldali dinamizálás
A JavaScript talán leggyakrabban használt funkciója a kliensoldali dinamizálás lehetősége. Az ügyfél a webböngésző. A kliensoldali dinamizálás azt jelenti, hogy a kliensben megjelenített konkrét tartalom manipulálásra kerül. A HTML a weboldal szerkezetének statikus leírása, az úgynevezett dokumentumobjektum-modell (DOM). Míg a CSS-t (Cascading Style Sheets) ennek a "váznak" a különálló kialakítására használják, addig a JavaScript lehetőséget nyújt a HTML-elemek áthelyezésére, törlésére vagy hozzáadására.
Ez a DOM-manipuláció (DOM scripting) sokféleképpen használható. A függvények kezdetben bizonyos eseményekhez kötődnek az úgynevezett eseménykezelőkön keresztül. Ezek lehetnek a felhasználó kattintásai, időpontok vagy akár a weboldal betöltése. Az eseményalapú módosításokat ezután a HTML-ben az elemekhez rendelt azonosítókon keresztül lehet elindítani. Ez az egyszerű, dinamikus űrlapok vagy táblázatszűrők programozásától kezdve a videólejátszók vagy összetett, dinamikus grafikák beágyazásáig mindent magában foglalhat.
JQuery: A kevésbé bonyolult JavaScript
A JavaScript az objektumorientált programozási nyelvek egyik példája. Így a tapasztalatlan webdesignerek számára viszonylag magas a belépési küszöb. Anélkül, hogy a JavaScript funkcionalitását (nagyon) korlátozná, a JQuery JavaScript könyvtár egyszerűsített szintaxist kínál, amely a leggyakoribb felhasználási eseteket gyorsan és egyszerűen teszi lehetővé. Míg a JavaScript a prototípusok (osztályok helyett), példányok (konkrét objektumok) és metódusok (objektumokhoz kötött függvények) meghatározásával hasonló összetettséget és változtathatóságot kínál, mint mondjuk a Java vagy a Python, a JQuery korlátozza a szókincset és a struktúrákat. A parancsok egymásba illeszthetők, így a struktúra elég gyorsan megérthető. Ezért, hacsak nem összetett, szokatlan alkalmazásokról van szó, nagy valószínűséggel létezik egy egyszerű JQuery megoldás.
Szerveroldali dinamizálás: AJAX és Node.js
A DOM-manipuláción kívül a JavaScriptet a szerverekkel való kommunikációra is használják, például adatbázis-lekérdezésekre. 2009 óta létezik a node.js, egy keretrendszer a szerveroldali dinamizálásra JavaScript segítségével. Ez már 2009 előtt is lehetséges volt, de a node.js egyszerűbb integrációt tesz lehetővé. Ez előny a JavaScript programozók számára, mivel nem kell többé más nyelvekhez, például a php-hoz folyamodniuk. A node.js emellett lehetővé teszi a folyamatok párhuzamosítását is. Ez azért előnyös, mert túl sok ilyen úgynevezett szál megakadáshoz vezethet. A node.js esetében a kérések egyetlen szálon futnak, ami jelentősen növelheti a teljesítményt.
A Node.js egy példa az AJAX lehetőségeire. A betűszó az Asynchronous JavaScript and XML nevű eljárás rövidítése. Ez az elv lehetővé teszi, hogy anélkül kérjünk tartalmat a szerverektől, hogy az egész oldalt újra kellene tölteni. Számos webes ajánlat, például a YouTube esetében a videókérés vagy a kommentek betöltése után a teljes újratöltés jelentős hátrányt jelentene. Az AJAX az aszinkron feldolgozásnak köszönhetően szintén megoldást jelent a kérések halmozódásának problémájára, ahogy azt fentebb a Node.js esetében már kifejtettük.
JavaScript integráció
A JavaScript alapvető integrációja a webes ajánlatokba pontosan ugyanúgy működik, mint a CSS-fájlokkal való kapcsolat. Erre két lehetőség van: A JavaScript egyrészt a HTML-dokumentum fejében, másrészt a HTML-dokumentum testében használható.