Gerade habe ich mir ein Video über einen Vortrag von John Resig, dem Hauptentwickler von jQuery, auf der Tech4Africa Konferenz angesehen und möchte den Vortrag schriftlich zusammenfassen.
Data Store
Inhalt des Vortrages waren neue und weniger bekannte jQuery Features wie z.B. dem jQuery data store. Einem Key/Value Speicher mit dem man Daten an DOM Elemente hängen kann. Dadurch lassen sich u.A. globale Variablen vermeiden und man erreicht eine deutlichere Zuordnung der Daten zum betroffenen Element. Durch die Verknüpfung mit dem Element muss man sich auch nicht um den Lebenszyklus des Speichers kümmern. Falls das Element aus dem DOM entfernt wird, gibt jQuery diesen Speicher automatisch frei.
Die Events von jQuery werden z.B. auf diese Weise gespeichert.
Event Delegation
Üblicherweise bindet man die Events an das jeweilige Element, welches den Event auslöst. Dies hat den Nachteil, das man z.B. bei Tabellenzellen recht viele Eventhandler hat. Ein häufiger auftretender Nachteil ist, daß man beim Hinzufügen eines neuen ähnlichen Elements daran denken muß, auch den Eventhandler hinzuzufügen.
Da die Events in der DOM Hierarchie nach oben weitergeleitet werden, wenn sie nicht behandelt werden, kann man die Events jedoch auch an ein übergeordnetes Element hängen, womit man die zuvor genannten Nachteile beseitigt. Dazu gibt es in jQuery die Funktionen live() und delegate(). Bei live() wird der Event vom Eventhandler am body Element behandelt. Bei delegate() lässt sich ein beliebiges Element angeben.
Namespaced Events
Hat man viele Events auf einer Seite wird es schwierig diese richtig zu behandlen z.B. wenn man eine bestimmte Art von Events entfernen möchte. Es kann leicht passieren, daß man dabei einen Event eines Plugins mit erwischt. Um dies zu vermeiden lassen sich die Events mittels Namen gruppieren.
HTML Templates
Zwei von Microsoft unterstützte Features zielen darauf ab den Umgang mit angezeigten Daten zu vereinfachen. Durch das Template Plugin, welches ab jQuery 1.5 in den jQuery Kern integriert werden soll, ist es möglich HTML Vorlagen mit Variablen zu definieren welche automatisch durch JSON Daten ersetzt werden können. Dies vereinfacht nicht nur das Einsetzen der Daten, es wird auch deutlicher was im Dokument ersetzt wird.
Da die Werte der Variablen im jQuery Data Store gespeichert werden lassen sich diese auch im Nachhinein auslesen und verändern.
Data Link
Ein weiteres Feature das in jQuery integriert werden soll ist das Verknüpfen der Formulardaten mit dem zugrundeliegenden Objekt. Das Plugin dazu findet man auf Github. Man braucht sich damit nicht mehr um die Synchronisation der Daten zwischen dem Formular und dem Javascript Objekt zu kümmern. Eine Änderung der Formulardaten ändert automatisch die Daten im Objekt und umgekehrt, d.h. auch die manuelle Initialisierung des Formulars mit Daten kann man sich sparen.
Abgeschlossen hat John Resig den Vortrag mit dem höchstwahrscheinlich bekannten Tipp den jQuery Code über ein Content Delivery Network einzubinden. Dabei erwähnte er das jQuery mit Googles Closure Compiler bearbeitet wird.
Verweise
Die Slides des Vortrags.
Das vorgestellte Spiel.
Der Source Code des Spiels.


, 2
. CO posts a blind of $0,10.
, 9

![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=b52aab71-4283-4aa7-ad38-bca62cab1b6d)
![Reblog this post [with Zemanta]](http://img.zemanta.com/reblog_e.png?x-id=230b4753-a0c7-4fc0-ae11-af6e2bbd12dc)