Prototype mintadarabok 1
fejlesztés, javascript, prototype
A Prototype egy JavaScript keretrendszer ami arra hivatott, hogy kibővítse a böngésző JavaScript kezelő környezetét, kibővítse a DOM elemeit, a JavaScript beépített típusait, valamint hogy egyszerű és jól használható függvényeket adjon a fejlesztő kezébe.
Általános jellemzők
- A Prototype nem egy teljes alkalmazásfejlesztési keretrendszer, nincsenek saját widgetjei vagy megvalósítási metódusai. Igazából fél úton áll a mindent kézzel való kódolás és egy teljes alkalmazás keretrendszer között.
- A Prototype nem függ egyik szerver oldali keretrendszertől sem, rendben kommunikál és működik együtt bármelyikkel legyen az PHP, Ruby, ASP, Java vagy bármi más.
- Egyetlen js file-ból áll ami a prototype.js a maga 124KB-os méretével igazán nem mondható súlyos keretrendszernek.
- Letölthető a Protoype hivatalos weblapjáról a MIT licensz szerint.
- Ugyanitt elérhető egész jól használható api dokumentáció. Magyar nyelven a 1.4-es verzió leírása érhető el. Az itt tátongó lyukat kívánja bizonyos szempontból ez a sorozat befoltozni.
- Használatához csupán annyit kell tennünk, hogy a lapunk
<head>részében el kell helyeznünk a következő<script>tagot.<head> ... <script type="text/javascript" src="eleresi/ut/prototype.js"></script> ... </head>
Objektumok, névterek és modulok
A Prototype objektumok 3 kategóriába esnek.
- általános objektumok
- Ezek az általánosan használt objektumok, a
newoperátorral hozzuk őket létre, a tulajdonságok az egyes példányokban tárolódnak el, stb. - névterek
- Néhány objektumot nem példányosítunk, csak azért léteznek, hogy egységbe zárjanak bizonyos összetartozó alkatrészeket. Ilyen például az
Event. - modulok
- Ezek olyan objektumok amelyeket mindig valami más objektummal összeházasítva használunk. Ilyen például az
Enumerableobjektum.
Na de mi is az a Prototype?
A prototype (prototípus – mintadarab) a JavaScript speciális objektumkezelésének egy lényeges és azt hihetetlen rugalmassá tevő része. Erről egy általános áttekintés olvasható a weblaboron.
A JavaScriptben nem léteznek hagyományosan értelmezett objektum osztályok, így kissé máshogyan értelmezhetőek a példányosítás, öröklés és hasonló koncepciók. A prototípusra gondolhatunk úgy mint egy tárolóra amiben olyan dolgok (függvények) vannak amelyet minden származtatott objektum közösen használ. Nézzünk egy egyszerű példát.
Contstruktor típusú megközelítés
function Valaki(vNev, kNev){
this.vNev = vNev;
this.kNev = kNev;
this.getNev = function(){
return this.vNev + ' ' + this.kNev;
}
}
Prototípus típusú megközelítés
function Valaki(vNev, kNev) {
this.vNev = vNev;
this.kNev = kNev;
}
Valaki.prototype = {
getNev: function() {
return this.vNev + ' ' + this.kNev;
}
}
var frodo = new Valaki('Zsákos' , 'Frodó' );
var samu = new Valaki('Csavardi' , 'Samu' );
frodo.getNev(); //'Zsákos Frodó'
samu.getNev(); //'Csavardi Samu'
A két megközelítés között az egyik lényeges különbség, hogy a construktor típusú esetben minden egyes objektumpéldányhoz létrejön egy külön getNev metódus, míg a prototípus szerintinél csak egyszer jön létre amit aztán az egyes objektumpéldányok közösen használnak.
Ami a JavaScript objektumkezelését hihetetlenül rugalmassá teszi az az, hogy bármelyik objektum prototípusához hozzáférhetünk, így akár az alap beépített objektumokat is tudjuk módosítani. Ha módosítjuk a prototípust akkor minden objektumpéldány módosul függetlenül attól, hogy a prototípus piszkálása előtt vagy után hoztuk létre.
A Prototype library pontosan ezt a lehetőséget használja ki és a prototípusok kiterjesztésével bocsát a rendelkezésünkre sok sok lehetőséget, amelyek könyebbé, gyorsabbá, biztosabbá és élvezetesebbé teszik a JavaScript fejlesztést. De ezekről részletesebben a következő részekben lesz szó.
Ez a bejegyzés rrd billentyűzetéből potyogott ki 2008 január 7. napján 09:17:14-kor. Eddig 4,471 olvasást ért meg. A visszajelzéseket nyomonkövetheted ezzel az RSS feed-el. Véleményt nyilváníthatsz, vagy trackbackolhatsz a saját oldaladon.
JólMegMondjad!
3 vélemény
-
IT
2008 január 15. 00:10:09Hm, most találtam rá erre az oldalra, és azt kell mondjam, hogy egész egyszerűen fantasztikus! De komolyan, amilyen készséggel el vannak magyarázva a cikkekben leírtak, ahhoz csak gratulálni tudok. Persze az elejefele voltak kis kitekintések, amiknek gondoltam utánnanézek, de aztán mire eljutottam 2006-tól ide 2008-ig, már azok is ismertetésre kerültek. Szal nagyon nagy köszönet a leírásokért, nagyon hasznosak voltak.
-
rrd
2008 január 20. 19:45:37IT: kösz a biztatást. Igyekszem folytatni.
-
lacy
2008 április 13. 15:03:02nagyon hasznos leírások, gratulálok!



