Prototype en JQuery, ’t vervolg

5 januari 2008 at 9:10 pm Plaats een reactie

Blijkbaar doen JQuery en Prototype juist hetzelfde, namelijk Javascript samenvatten, en zitten de verschillen in de syntax (hoewel relatief) en vooral in de achterliggende ontwerpgedachte (JQuery: slechts 1 object, het JQuery-object; Prototype: aparte objecten per beoogd gedrag).
Ik heb nog met geen van beide gewerkt (dus ik hoef geen argumenten te zoeken in de zin van “waarom overschakelen?”), maar op het eerste zicht lijkt JQuery heel aantrekkelijk qua opvatting en ziet het er eenvoudig te gebruiken uit (leesbare code, wellicht omdat het niet nodig is om expliciet te itereren over een resultatenset doordat dat al ingebouwd is in de functies).

Dat Prototype sterk gebonden is aan Ruby on Rails kan me niet schelen want ik gebruik dat toch niet.

Nog even iets over “Javascript samenvatten”. Volgens mij is dat “samenvatten” nu net waar het in een framework om draait: bepaalde taken abstraheren in standaardfuncties, zodat de programmeur niet steeds het warm water opnieuw moet uitvinden.
Bijvoorbeeld, je wil alle a-tags met een class=”extern”:

var anchors = document.getElementsByTagname("a");
var linksExtern = new Array();
var i = 0;
for each a in achors {
   if (a.className == "extern") {
     //iets doen met het element of gewoon in een andere array steken
     linksExtern[i] = a;
     i++;
   }
}

Terwijl dit in JQuery neerkomt op:
$('a.extern').doeIets('argumenten');
en in Prototype:
$$('a.extern').invoke("doeIets", 'argumenten');

Gemakkelijk en snel getypt, maar wellicht is er ook een prijs te betalen.

Het zou me niet verwonderen mocht code met JQuery/Prototype trager werken dan code die in Plain Old Javascript geschreven is. Ik bedoel hiermee dat er juist door die abstractie hoogstwaarschijnlijk meer code uitgevoerd zou worden dan nodig (ik denk aan een iteratie (lees: ne for loop) teveel hier en daar). M.a.w. mochten de statements uit het framework volledig uitgeschreven worden in POJ, dan zou het allicht mogelijk zijn om op sommige plaatsen overbodige code te schrappen.
(Dit is maar een vermoeden; ik heb geen tijd om die oefening eens te maken en om het betrouwbaar te testen. Evengoed is het verschil praktisch niet merkbaar.)

Ik denk dat ik eerst jQuery maar eens zal proberen.

Advertenties

Entry filed under: computer, programmeren, web.

Prototype en JQuery Tsss…

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit / Bijwerken )

Google+ photo

Je reageert onder je Google+ account. Log uit / Bijwerken )

Verbinden met %s

Trackback this post  |  Subscribe to the comments via RSS Feed


Meest recente berichten

I'm del.icio.us

RSS

syndication Feed me
No Atom feed...

%d bloggers liken dit: