Scriptorama.nl

Header image showing a keyboard, mouse, laptop and books on design patterns

jQuery 1.0 en flamewar

Sinds enkele dagen is javascript library jQuery stable verklaard want het heeft nu versie 1.0 bereikt! Voor de lezers die onbekend zijn met jQuery, eerder schreven we er al over als een alternatief voor het populaire javascript library Prototype.

Enkele dagen voor de release van jQuery 1.0 kun je een blogpost vinden op de jQuery website dat enigsinds Prototype probeert af te kraken. In Why jQuery's Philosophy is Better worden verschillen tussen jQuery en Prototype opgenoemd en waarom jQuery op meeste vlakken beter is dan Prototype. Ook is de auteur van mening dat de Rails community beter jQuery moet gebruiken omdat het meer past in de filosofie. Justin Palmer is het hier niet mee eens en argumenteert dat de blogpost van jQuery niet klopt. Zo zou jQuery helemaal niet in de Ruby filosofie passen.

Just browsing through the JQuery plugin site, it seems all of the plugins use a functional approach. Despite the articles claims, this is as far from Ruby as you’ll get.

Uiteindelijk lijkt het alsof de jQuery poster niet genoeg kennis heeft van Prototype om goede argumenten op tafel te brengen. Dit zou kunnen komen doordat de documentatie van Prototype niet adequaat is.

Na wat goede argumenten van beide kanten (ook de commentaar op de posts) blijf ik zelf toch bij Prototype. Het is onderdeel van Rails, het is een mooie combinatie met scriptaculous en het werkt zoals ik het wil :)

Reageer ook!

Als jij kan leven met een extra 100KB, waarom niet?

Het lijkt me vooral een kwestie van onzorgvuldig taalgebruik van Katz. Zijn post had wat mij betreft beter 'Why I Prefer jQuery's Philosophy' kunnen heten. Palmer nuanceert de boel gelukkig enigszins. Beide libraries hebben genoeg bestaansrecht gezien het aantal geïnteresseerden.

> Als jij kan leven met een extra 100KB, waarom niet?

Om bandbreedte te besparen met Prototype zou je Dean Edwards' Packer kunnen gebruiken voor compressie (zoals jQuery): http://dean.edwards.name/packer/. Scheelt al snel de helft qua bestandsgrootte.

jQuery is nog vrij buggy, Prototype niet. Het compressen scheelt inderdaad heel veel, soms zo'n 60%. Belangrijker is voor mijzelf is het feit dat Prototype en scriptaculous allebei in Rails zitten. Dat geeft gelijk een grote community en support.

> jQuery is nog vrij buggy, Prototype niet.

Lijkt me niet zo raar, aangezien de ontwikkeltijden nogal verschillen, jQuery is in januari van dit jaar pas geboren.

> Belangrijker is voor mijzelf is het feit dat
> Prototype en scriptaculous allebei in Rails
> zitten. Dat geeft gelijk een grote community
> en support.

Aan jQuery on Rails wordt gewerkt: http://trac.visualjquery.com/jQueryRails.
Het voordeel van jQuery vind ik de openheid van de auteur. Resig zorgde vanaf het begin voor fatsoenlijke communicatie (duidelijke website, docs en mailinglist) en staat vrijwel iedereen te woord. Een schril contrast met Prototype (ok, Stephenson heeft na enig aandringen een blog ;)).

Uiteindelijk blijft 't vooral een kwestie van smaak, naar welke welke API je voorkeur uitgaat. Esthetiek is ook voor veel code monkeys een belangrijk aspect ;).

De al eerder genoemde Palmer werkt overigens aan een Prototype-boek: http://encytemedia.com/blog/articles/2006/04/27/writing-a-prototype-book-for-the-pragmatic-programmers

Is allemaal wel weer leuk en aardig maar als de client geen JavaScript ondersteund heeft hij er niets aan. Beter is het om het gebruik van JavaScript in je website zoveel mogelijk te ontwijken! Een goede website is een website die normaal te bezoeken is zonder JavaScript of nauwelijks met JavaScript

Als ik Dries mag geloven zal jQuery in de volgende versie van Drupal zittten ( 5.0.0 ).

Toch al weer een heuse stap voor jquery.

@michael:
Over een paar jaar is er een tweede internet waar je zonder javascript niets kunt. Alle dynamische functionaliteit, waarbij maar een stuk van het scherm ververst wordt i.p.v een full page refresh zijn van javascript afhankelijk. Denk aan treecontrols, tabs en dat soort dingen. Het resultaat is geen document / pagina maar een applicatie.

Het ontwijken van javascript is ook een beetje overkill. Gebruik gewoon graceful degradation

Leave a comment
Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>