jQuery 1.8: Entwickler wollen modularere JavaScript-Bibliothek

 –  51 Kommentare

Die Version 1.8 der JavaScript-Bibliothek jQuery, die jetzt als erste Beta-Version erschienen ist, steht ganz im Zeichen der Modularisierung. So ist es nun möglich, unter Verwendung eines auf grunt basierenden Build-Systems jQuery-Module zu separieren. Dadurch sind Entwickler in der Lage, die für ihre Webanwendungen gerade nicht benötigten Softwarekomponenten außen vor zu lassen.

Bei Weglassen der bislang entfernbaren Module ajax, css, dimensions, effects und offset verringert sich die jQuery-Größe offenbar auf schlanke 21 KByte. Die Entwickler weisen aber ausdrücklich auf den optionalen Charakter der Reduzierung hin und werden weiterhin die gesamte jQuery-Bibliothek über ihr Content Delivery Network verteilen. Details zum neuen Build-System finden interessierte Leser in einer README-Datei.

Einfacher soll mit jQuery 1.8 der Umgang bei Herstellerpräfixen für bislang noch nicht standardisierte CSS-Funktionen werden. Die Arbeiten am Animationssystem sind zudem etwas größer ausgefallen, sodass es nun neue Extension Points gibt, mit den es einfacher sein soll, Animationen zu ergänzen oder zu modifizieren. Allerdings fällt die Dokumentation hierfür bislang etwas karg aus. Die CSS Selector Engine Sizzle haben die Entwickler ebenfalls deutlich überarbeitet. Das hat anscheinend ein deutlich besseres Verhalten zur Folge und ermöglicht die Kombination mehrerer Selektoren. Außerdem sorgen die Änderungen für einen besseren Umgang mit Grenzfällen und Browserfehlern.

Die Entwickler warnen außerdem davor, dass die übernächste Version 1.9 einen strikteren Umgang mit der $()-Methode einfordern wird, Das geschieht, weil XSS-Angriffe (Cross Site Scripting) das Verhalten der Methode ausnutzen könnten, um Code in <script>-Tags auszuführen. jQuery soll vorsichtiger mit HTML-Code innerhalb von $() umgehen können, indem nur mit "<" beginnende Strings als ebensolche berücksichtigt werden. Im Vorfeld der Verschärfung führt jQuery 1.8 die neue Methode $.parseHTML ein, mit der sich Strings in HTML überführen lassen und HTML in DOM-Fragmente übersetzt werden kann.

jQuery wird des Weiteren in einigen Punkten schrittweise aufgeräumt, sodass einige Funktion wie die Methode $.browser zur Browsererkennung und die kaum noch verwendete Funktion $.sub fortan nur noch als ausgelagerte Erweiterungen zu nutzen sein werden. Sämtliche Änderungen in der Beta-Version finden sich am Ende der Ankündigung. Der unter der MIT- oder der GPLv2 stehenden Code lässt sich direkt herunterladen, den Quellcode gibt's im Repository auf der Hosting-Plattform GitHub. (ane)