Alle Neuigkeiten und Updates rund um die neue jQuery-Major-Version

jQuery 3 – die Zukunft von jQuery
Kommentare

Schon im Oktober 2014 wurde jQuery 3.0 angekündigt. Im Juni 2016 erschien die neue Version endlich final und brachte u.a. auch einen Slim-Build mit, der ohne bestimmte ajax- und effects-Module auskommt. Aktuell steht jQuery 3.2.1 zur Verfügung.

Ziel für jQuery 3.0 war es, so erklärt Timmy Willison im jQuery-Blog, eine schnellere, schlankere jQuery-Version zu entwickeln, die gleichzeitig Abwärtskompatibilität zu älteren Library-Versionen bietet. Hatte man ursprünglich geplant, zwei 3.0-Versionen – jQuery 3.0 und jQuery Compat 3.0 – zu veröffentlichen, hat man im Laufe der Entwicklungsphase von dieser Idee wieder Abstand genommen und sich auf die Verbesserung einer Version konzentriert, die nun die Zukunft von jQuery sein soll: jQuery 3.0.

Dafür wurden alle alten Internet-Explorer-Workarounds entfernt und moderne Web-APIs implementiert; einige Breaking Changes zur letzten Version des 2.x-Entwicklungszweigs lassen sich darum nicht vermeiden. Wer auf Support des Internet Explorers 6-8 angewiesen ist, kann weiterhin jQuery 1.12 nutzen; diese Version erhält genauso wie jQuery 2.2 zunächst weiter wichtige Maintenance-Updates.

Grundsätzlich hofft das Entwickler-Team, dass die wenigen Breaking Changes in jQuery 3.0 nur wenige Nutzer betreffen werden und gibt im Upgrade-Guide eine detaillierte Anleitung zum Upgrade auf die neue Library-Version. Ebenso hilft das jQuery-Migrate-Plugin bei der Identifizierung von Kompatibilitätsproblemen im eigenen Code.

Neue Features in jQuery 3.0

Bereits bei der Veröffentlichung des ersten Release Candidates von jQuery 3.0 vor knapp drei Wochen hat das Entwicklerteam einige der neuen Features vorgestellt. Seither gab es keine weiteren Neuerungen, einzig einige Bug-Fixes wurden vorgenommen.

Zu den neuen Features gehört zum Beispiel, dass jQuery.Deferred-Objekte hinsichtlich der Kompatiblität mit Promises/A+ und ECMAScript-2015-Promises aktualisiert wurden. Damit verbunden sind umfangreiche Änderungen an der .then()-Methode, etwa dass eine in einem .then()-Callback geworfene Exception nun zu einem Rejection-Value wird. Außerdem wird der Resolution-Status eines Deferred-Objekts, das mit .then() erstellt wurde, nun von dessen Callbacks kontrolliert; ebenso werden Callbacks jetzt immer asynchron aufgerufen.

Neu in jQuery 3.0 ist auch, dass die catch()-Methode als Alias für .then(null, fn) zu Promise-Objekten hinzugefügt wurde, deprecated Event-Aliases wie .load, .unload und .error entfernt wurden und Animationen nun requestAnimationFrame nutzen. Vor allem diese Neuerung soll dazu beitragen, dass Animationen weniger CPU-Zeit benötigen und flüssiger ausgeführt werden.

Außerdem sorgt jQuery 3.0 nun dafür, dass in Szenarien, in denen eine Fehlermeldung ausgegeben werden sollte, auch tatsächlich ein Fehler geworfen und Requests nicht still ignoriert werden. Auch wurden einige jQuery-Custom-Selektoren umfangreichen Performance-Verbesserungen unterzogen, etwa :visible und :hidden.

Neuer Slim-Build für jQuery

In Zeiten, in denen vermehrt auf leichtgewichtige Libraries gesetzt wird, muss sich jQuery anstrengen, um weiter mithalten zu können. Normalerweise kommt jQuery mit einer Reihe von ajax- und effects-Modulen daher, die allerdings nicht immer gebraucht werden; zudem gibt es verschiedene Use Cases, in denen die Nutzung von einer Kombination aus CSS und Klassenmanipulation für Webanimationen einfacher ist.

jQuery 3.0 kommt daher mit einem neuen Slim-Build, der auf einige ajax- und effects-Module verzichtet und insgesamt 6KB gzipped kleiner ist, als die reguläre jQuery-Version. Mehr Informationen dazu bietet der oben genannte Blogpost; dort sind alle Änderungen in jQuery 3.0 auch noch mal übersichtlich zusammengefasst. Sowohl die reguläre Version als auch der Slim-Build stehen über npm sowie im CDN zur Installation bereit.

jQuery 3.1.0 steht zur Verfügung

Die Veröffentlichung von jQuery 3.0 ist noch gar nicht so lange her, da steht mit jQuery 3.1.0 bereits die nächste Version der JavaScript-Library bereit. Im Vordergrund des Updates steht vor allem ein Fix für den Umgang mit stummen Fehlermeldungen.

So wurde in jQuery 3.0 ein Rewrite von jQuery Deferreds vorgenommen, um sie mit der Promises/A+-Spezifikation kompatibel zu machen. Dafür mussten Fehlermeldungen jedoch stummgeschaltet und als Rejection-Werte an Rejection-Handlers übergeben werden. Da aber auch Änderungen an jQuery.ready und jQuery.fn.ready vorgenommen wurden, konnten kein Rejection-Handler mehr hinzugefügt werden.

Genau dieses Problem soll jQuery 3.1.0 beheben. So soll es in der neuen Version keine stummen Fehlermeldungen mehr geben, sondern sie werden automatisch in die Konsole geloggt. Mehr Informationen dazu bietet der zugehörige Blogbeitrag im jQuery-Blog, alle Änderungen lassen sich dem Changelog entnehmen. jQuery 3.1.0 steht im jQuery CDN zur Installation bereit.

jQuery 3.1.1 steht zur Verfügung

Mit jQuery 3.1.1 steht ein Bug-Fix-Update für die aktuelle Version der beliebten JavaScript-Library zur Verfügung. Im Vordergrund stehen vor allem zahlreiche Bug-Fixes und kleinere Verbesserungen; wie bei Patch-Version-Releases gibt es keine neuen Features oder beabsichtigte Kompatibilitätsprobleme.

Zu den Änderungen in jQuery 3.1.1 zählen etwa Fixes für ein Selektor-Problem mit deaktivierten Optionen sowie einige kleinere Probleme mit Whitespace. Außerdem wird nun jQuery.noConflict dargestellt, selbst wenn jQuery mit AMD geladen wird. Alle Neuerungen lassen sich dem Changelog auf GitHub entnehmen; jQuery 3.1.1 steht über das jQuery CDN, npm oder direkt im Ankündigungsblogpost zum Download zur Verfügung.

jQuery 3.2.0 ist erschienen [Update 17.März 2017]

Nach einiger Wartezeit ist mit jQuery 3.2.0 nun die nächste Minor-Version der JavaScript-Bibliothek erschienen. Im Vordergrund des Updates stehen umfangreiche Bug-Fixes und Verbesserungen, aber auch einige Deprecations sind in der neuen Version dabei.

Zu den Neuerungen zählt etwa der Support für Custom-CSS-Properties, zudem wurden jQuery.holdReady, jQuery.nodeName und jQuery.inArray als deprecated markiert. Des Weiteren wurde ein Bug in .width(), .height() und ähnlichen Methoden, bei denen CSS Transforms in den Berechnungen vorhanden war, behoben. Außerdem bringt jQuery 3.2.0 Support für <template>-Elemente in der .contents()-Methode mit.

Alle Änderungen sind im Changelog im zugehörigen Blogpost zusammengefasst. Die neue jQuery-Version steht im jQuery CDN zum Download zur Verfügung. Alternativ finden sich die direkten Downloadlinks – auch die für den Slim Build – im oben genannten Blogpost.

jQuery 3.2.1 steht mit wichtigen Hotfixes zur Verfügung [Update 21.März 2017]

Erst Ende letzter Woche erschien jQuery 3.2.0, nun steht bereits das erste Maintenance-Update für die neue Library-Version zur Verfügung. Sie bringt einige wichtige Hotfixes für Regressionen mit, die in der vorigen Version aufgetreten sind. So gab es etwa Probleme beim Abrufen von Breite oder Höhe eines Inline-Elements ohne explizit festgelegte Dimensionen. Darüber hinaus gab es auch noch einige weitere Fixes, die im zugehörigen Changelog sowie einem Blogpost von Timmy Willison im jQuery-Blog nachgelesen werden können. Die neue Library-Version steht im jQuery CDN zum Download zur Verfügung.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -