jQuery 1.5 mit mehr AJAX und besserer Performance
Kommentare

Bei den Entwicklern von jQuery läuft alles fein nach Plan; so wurde mit Version 1.5 der neue Meilenstein pünktlich der Öffentlichkeit übergeben. Entwickler dürfen sich unter anderem über einen deutlichen

Bei den Entwicklern von jQuery läuft alles fein nach Plan; so wurde mit Version 1.5 der neue Meilenstein pünktlich der Öffentlichkeit übergeben. Entwickler dürfen sich unter anderem über einen deutlichen Performance-Schub freuen – und auf ein komplett überarbeitetes AJAX-Modul.

Grundlagenarbeit
jQuery 1.5
jQuery Minified, 29 KB
jQuery Regular, 207 KB
Microsoft CDN | Google CDN

Das Team hat bei der Entwicklung ganze Arbeit geleistet: 83 Bugs wurden gefixt, insgesamt 460 Tickets geschlossen. Die Test Suite ist in allen unterstützten Browsern durchgelaufen – immerhin stolze 4437 Tests, die weder beim Internet Explorer 6 noch im Chrome 10.0.642.2 Dev oder bei Opera 11 versagt haben.

Damit ist der Grundstein für die weitere Roadmap gelegt. Im Februar soll mit Version 1.5.1 noch ein Bugfix-Release nachgelegt werden, bevor es an die Entwicklung von jQuery 1.6 geht. Genaue Daten stehen dafür zwar noch nicht fest, aber aller Wahrscheinlichkeit nach wird es gegen Ende April so weit sein.

Performance-Boost

Besonders viel Arbeit wurde in die Performance der oft genutzten Traversal-Methoden .children(), .prev() und .next() gesteckt. Vor allem Googles Chrome, der Safari 5 und die letzte Beta des Firefox 4 können mit erheblichen Geschwindigkeits-Schüben aufwarten.

Der Performance-Gewinn bei der next-Methode Exemplarisch: Deutlich mehr Geschwindigkeit bei der .next()-Methode.

Weitere Vergleichswerte findet man in der offiziellen Ankündigung zum Release von jQuery 1.5.

Die Big News

Eine der drei großen Neuerungen ist jQuery.sub(). Damit ist es Entwicklern möglich, eine Kopie von jQuery zu erstellen, um beispielsweise native jQuery-Methoden zu überschreiben ohne die Funktionalität des eigentlichen jQuery-Objekts für andere Module oder User einzuschränken. Beispiele dazu findet man in der API-Dokumentation zu jQuery.sub().

Die ohne Zweifel größten Änderungen haben die AJAX-Aufrufe via jQuery.ajax() spendiert bekommen; das Modul wurde komplett überarbeitet und gibt jetzt bei einem Aufruf ein jXHR-Objekt zurück. Primarily, the new object’s function is to wrap browser implementations of XMLHttpRequest to give you a nice, standardized interface to work with. Einen guten Überblick kann man sich mit der Extending-Ajax-Dokumentation verschaffen.

Der Clou an dem jXHR-Objekt liegt aber in dem neuen Interface: Deferred Object. Damit lassen sich beliebig viele Callbacks nicht nur direkt an einen AJAX-Aufruf ketten – sogar nachträglich können weitere Callbacks angehängt werden.

var jxhr = $.ajax({ url: "mach_etwas.php" })
    .success(function() { alert("Okay!"); })
    .error(function() { alert("Es ist ein Fehler aufgetreten."); });

jxhr.error(function() { alert("Es ist _wirklich_ ein Fehler aufgetreten!") });   

Selbst wenn der Request einen Fehler zurückgegeben hat wird der Code, der im zusätzlichen Callback angehängt wurde, ausgeführt. Ein interessantes Tutorial zu Deferreds findet man übrigens bei Eric Hynds.

Es hat sich also ziemlich viel getan; und die neuen Funktionalitäten könnten dafür sorgen, dass Plug-ins ganz neuer Qualität entstehen. Das Team hat jedenfalls erneut bewiesen, dass jQuery eines der beliebtesten JavaScript-Frameworks ist, die momentan erhältlich sind.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -