Jó ideje foglalkozom többek között weboldalak készítésével szabadidőmben, a jelenlegi megoldással az ismert mondás ellen szeretnék tenni: “A cipész cipője szinte mindig lyukas”.

Ezenkívül szeretnék teljes értékű leírásokat közzétenni olyan programozási megoldásokról, amikkel kapcsolatban elvétve, hiányosan vagy egyáltalán nem jelent meg segédlet magyar nyelven.

Miért kell mindez magyarul?

Igen, tudom és is, a számítástechnika alapnyelve ma az angol, viszont én Neumann Jánostól származtatom a ma elérhető számítógépeket, így nekem az a természetes, hogy az Ő anyanyelvén is legyenek elérhetőek a programozáshoz szükséges dokumentumok.

Miről jutott eszembe?

Sok esetben a programozásban elérhető lehetőségek, funkciók leírásai már a készítőnél sem teljesek, az esetek nagy százalékában a megvalósítani kívánt megoldás és az elérhető lehetőségek közötti szükséges/megfelelő átfedés meghatározásához időt és energiát emésztő teszt-eseteket kell kitalálni, generálni és lefuttatni. Ettől a – néha don Quijote erőfeszítéseit megszégyenítő – munkától szeretném megóvni azokat, akik hasonló cipőben járnak, mint sokszor én.

Ez egy újabb GyIK/Hogyan-gyűjtemény lesz?

Nem, a cél itt nem az, hogy egy leírást adjak arról, hogyan kell pl. ‘táblázatok használata nélkül honlapot építeni’, ilyenből és hasonlóból van épp elég. Az én célom az, hogy leírjam hogyan oldottam meg a munkáim során megismert problémákat az addig szerzett tapasztalattal, valamint teljes(ebb) leírást próbáljak adni a felhasznált funkciókról.

Milyen környezetben programozok?

Idilli, festői környezetben :] Ez ebben a formában nem a várt válasz lenne. Főként PHP + MySQL, kiegészítve mindazokkal a nyelvekkel, amik honlapkészítésnél előfordulhatnak (HTML, XML, DHTML, XHTML, JavaScript, …) Ezenkívül megfordult a kezem alatt több ‘Visual Basic for Application’ megoldás (Excel, Access), valamint C++ és Java kód is.

Mi is a JavaScript?

A JavaScript programozási nyelv egy objektumalapú szkript nyelv, amelyet weblapokon elterjedten használnak. Eredetileg Brendan Eich, a Netscape Communications mérnöke fejlesztette ki; neve először Mocha, majd LiveScript volt, később „JavaScript” nevet kapott, és szintaxisa közelebb került a Sun Microsystems Java programozási nyelvéhez. A JavaScriptet először 1997–99 között szabványosította az ECMA „ECMAScript” néven. A jelenleg is érvényes szabvány az ECMA-262 Edition 3 (1999. december), ami a JavaScript 1.5-nek felel meg. Ez a szabvány egyben ISO szabvány is.

Ez a bevezető a JavaScript wikipédia oldalakról van.

A JS-hez való hozzáállásom:

Sokáig azt gondoltam, hogy a javascript nem programozási nyelv, csak egy játék, amivel érdekes dolgokat lehet művelni böngészőkben. Azóta számos evolúciós lépcsőn átesett, akárcsak én. Vannak buktatói, de sok erőteljes megoldása is.

Sok programozói könyvtár épült javascript-re, hogy segítse a munkát és gyorsítsa a fejlesztést. jQuery(angolul), Yahoo User Interface(angolul), Google Web Toolkit(angolul) csak hogy pár ismertebbet említsek. Én is használok függvénykönyvtárakat, de szeretem tudni, miként működnek, hogy a legtöbbet tudjam kihozni belőlük. Ezért szeretek egyszerű, régi típusú javascript kódot írni, az összes többinél jobban.

Hasznos eszközök:

Sokféle eszközt használok, hogy gyors, stabil és legalább ennyire fontos: szép kódot írjak. Az alábbiakban említett eszközöknek nincs magyar nyelvű megfelelője, így az angol nyelvűekre szorítkozom.

Az első a JSLint, amit Douglas Crockford írt és ajánl. Ez segít ellenőrizni a kódot, és ha nem is minden esetben vészes hibákat, de javítási lehetőségeket tár fel.

A második Google Closure Compiler alkalmazása, amely segít tömöríteni javascript kódot, és egyben ellenőrizni is. Elérhető mint on-line web-alkalmazás, és mint programozási felület.

Nem lehetne eszköznek nevezni, de felettébb hasznos: a Javascript: The Good Parts című könyv. Magyar fordításban meg sem jelent. Próbálom követni az ebben szereplő útmutatásokat, mert véleményem szerint segítenek olvashatóbb, üzemeltethetőbb és ami a legfontosabb: stabilabb kódot írni.

Ha két gondolatban kellene összefoglalnom a javascript erősségeit és hogy miért szeretem, ezek lennének: closure és lambda-funkciók.