Javascript működése

Webfejlesztés legelterjedtebb nyelve, a Javascript. Sokan, a Java-hoz hasonlítják, de a működését és funkcióját tekintve nagyon más.

Persze, a nyelv szintaktikája nagyon hajaz a Java-ra, de míg a Java server oldali programnyelv alapvetően, a Javascript egy böngésző által futtatott nyelv volt. Miért csak volt? Most már létezik a Javascriptnek olyan változata, mely képes a serveren dolgozni. Ilyen például a NodeJs. Mikor először csöppentem bele a NodeJs programozásba, akkor meglepett az utasítás végrehajtásának sorrendje. Ez volt az első alkalom, hogy teljesen párhuzamos programozásban írjak kódot. Az alapvető mód, amiben eddig programoztam, az a soros volt. A kettő közti különbséget, az alábbiakban magyarázom el:

Egymás után jönnek az utasítások a soros programozásnál. Azaz, a program elindulása esetén először az első, utána a második, stb. sorrendben futnak le az utasítások. Ez, egy egy sávos útra emlékeztet, amelyen az autók haladnak. Ellenben, a párhuzamos programozás esetén egy teljesen más logika szerint megy. Mint a több sávos sztráda. Itt az utasítások nem egymást követik, hanem egyszerre hajtódnak végre, s ha kell az egyik utasításnak a másik utasítás eredménye, egymástól függőnek kell lenniük, amely az autók egy megadott sávra helyezéséhez hasonlítható.

Javascript esemény vezérelt nyelv

Eleve egy esemény vezérelt nyelv a Javascript, mely dokumentáció (weboldal) betöltésekor vagy esetlegesen (gyakran) egy-egy esemény (esetleg gomb lenyomása által) meghatározott utasítások hajtódnak végre. A párhuzamos programozás módszerével megoldható az, hogy egyszerre több utasítás egyszerre hajtódjon végre, s ezáltal a kód gyorsabban működjön. A Javascript ezért népszerű is lett, először a frontend (felületi funkciók) fejlesztésében, s az előbb ismertetett másik módon, a server oldal működtetésében is. Most a frontend oldali megközelítésről írok:

A frontenden sokszor futunk abba, hogy egy beviteli mezőt validáljunk, azaz ellenőrizzünk, mielőtt a serverre küldenénk. Persze, a serveren is kell ellen őrző funkciót végrehajtani, de nem kerülhető el, hogy a felületen, azaz a megjelenítésben ellenőrizzük a mezőt. Ez lehet hossz, vagy kinézet, mint például a dátum mező, vagy mint az email mező, s egyéb tulajdonságok, melyeket érdemes ellenőrizni. Ezeket, az úgynevezett regexp kifejezések segítségével lehet megoldani, ami azt jelenti, hogy egy sémát megad a programozó a kódban, melyre illeszkednie kell a beviteli mezőnek.

Javascript és validáció

Az ellenőrzéseket már jól kezeli a HTML5 is, de régebbi HTML verzióknál melyeket mindig meg kellett oldani. Most már segítséget nyújtanak a különböző PHP-s frameworkok, melyekről a PHP-ról szóló cikkemben írok majd, persze az egyik alapja a frameworkoknek az, hogy megfelelően kombinálják a Javascripttel a PHP-t. Így, habár a programozó egyre kevésbé nyúl a Javascript segítségéhez, azért tudja és tudnia kell azt, hogy a háttérben milyen típusú kódok működnek.

Egy másik általános használata a Javascriptnek az, hogy egy esemény (pl gombnyomás) hatására a HTML oldalon változtasson meg kinézetet, és vagy szöveget. Az előző példánkat nézve, ahol a validálás, más néven beviteli mező ellenőrzésénél, a figyelmeztető felugró ablak, vagy megjelenő figyelmeztető szöveg, esetlegesen (a felhasználók kényelméért) bepirosozott hibásan kitöltött mező megjelenítése is Javascript. A Javascriptnek is vannak olyan frameworkjei, mint a PHP-nak, amelyekben egyszerűsítve vannak az esemény meghívások, és kinézet módosítások. Ilyen például, a jQuery. Ezt a keretrendszert sokszor használtam már a Yii programozásom során, könnyen lehet vele manipulálni a kinézetet. Így, ebben a keretrendszerben is alapos ismeretet szereztem, melyet egy másik cikkben írok majd le. 🙂