- Der Einfluss von jQuery im Web ist unbestreitbar
- Seit der ersten Vorstellung im Jahr 2006 wurde es sofort zu einem Standardwerkzeug für Webentwickler
- Es vereinfacht die Manipulation von HTML-Dokumenten, Event-Handling, Animationen und mehr
- Außerdem spielte es kontinuierlich eine wichtige Rolle bei der Weiterentwicklung von Webstandards und Browserfunktionen
- Mit dem Aufkommen moderner JavaScript-Frameworks entscheiden sich zwar weniger Entwickler in neuen Projekten für jQuery, doch die weltweite Nutzung ist weiterhin sehr hoch
- Laut der Analyse von IDC-Umfrageergebnissen verwenden 90 % aller Websites jQuery
- Davon nutzt etwa ein Drittel veraltete Versionen
- Das jQuery-Team und die OpenJS Foundation arbeiten im Rahmen der Kampagne Healthy Web checkup daran, dieses Problem anzugehen
- Dieser Leitfaden erklärt, warum es wichtig ist, die jQuery-Version aktuell zu halten, und führt durch den Upgrade-Prozess
Warum ein jQuery-Upgrade für die Sicherheit wichtig ist
- Sicherheitslücken
- In der jQuery-Codebasis können verschiedene Schwachstellen auftreten, von XSS bis RCE
- Das jQuery-Team stellt dafür Patches und Updates bereit, sobald solche Probleme entdeckt werden
- Ein Upgrade auf die neueste Version wendet diese Sicherheitsfixes an und reduziert damit das Risiko einer Ausnutzung durch Angreifer
- Security Best Practices
- Neue jQuery-Versionen integrieren Security Best Practices und Verbesserungen, um gängige Sicherheitsbedrohungen zu entschärfen
- Durch ein Upgrade lassen sich diese Best Practices übernehmen und die Sicherheitslage der Anwendung stärken
- Compliance-Anforderungen
- Viele Branchen- und Regulierungsrahmen verlangen, Software aktuell zu halten und bekannte Sicherheitslücken zeitnah zu beheben
- Wenn Sicherheitsprobleme durch ein jQuery-Upgrade nicht behoben werden, kann dies zur Nichteinhaltung solcher Anforderungen führen
Browser-Support
- jQuery 1.x, 2.x und 3.x haben jeweils unterschiedliche Listen unterstützter Browser
- Angesichts der aktuellen Browser-Marktanteile sind die von jQuery 3.x unterstützten Browser, darunter IE 9+, in fast allen Fällen ausreichend
- jQuery 4.x soll IE11 weiterhin unterstützen, obwohl Microsoft das offizielle Support-Ende angekündigt hat
So führt man ein jQuery-Upgrade durch
- Das jQuery-Team stellt das Plugin jQuery Migrate bereit, um Upgrades so einfach wie möglich zu machen
- Es handelt sich um ein Entwicklungswerkzeug, das Warnmeldungen in der Browser-Konsole erzeugt, mit denen sich Kompatibilitätsprobleme identifizieren und beheben lassen
- Es stellt veraltete Funktionen und Verhaltensweisen vorübergehend wieder her, damit älterer Code auch mit neuen jQuery-Versionen weiterläuft, während Kompatibilitätsprobleme behoben werden können
- Für jQuery Migrate gibt es zwei Versionen: 1.x und 3.x (2.x gibt es nicht)
- Es sollte immer nur eine Version gleichzeitig verwendet werden
- Wenn von einer Version vor jQuery 1.9 aus aktualisiert wird, kann es nötig sein, beide Versionen nacheinander zu verwenden
- Wenn die aktuelle jQuery-Version zum Beispiel 1.4.4 ist
- sollte zunächst mit jQuery Migrate 1.x auf jQuery 1.12.4 aktualisiert werden und danach
- mit jQuery Migrate 3.x auf die neueste jQuery-Version (derzeit 3.7.1)
- Wenn die aktuelle Version 2.2.4 ist, kann direkt mit jQuery Migrate 3.x auf die neueste jQuery-Version aktualisiert werden
So verwendet man jQuery Migrate
- Zuerst wird jQuery geladen, danach wird jQuery Migrate zur Seite hinzugefügt
- Anschließend wird die Website oder Anwendung getestet
- Wenn unterschiedliche jQuery-APIs verwendet werden, protokolliert jQuery Migrate Warnmeldungen zu veralteten Inhalten oder wichtigen Änderungen in der Konsole
- Jede Warnung wird nacheinander behoben
- Wenn schließlich keine Warnungen mehr in der Konsole erscheinen und alle wichtigen Änderungen behoben sind, wird jQuery Migrate entfernt und die Migration ist abgeschlossen
- Weitere Details finden sich in der jQuery Migrate README
jQuery-Upgrade-Guides
- Die jQuery Upgrade Guides können hilfreich sein, wenn detaillierte Informationen zu wichtigen Änderungen gesucht werden oder wenn eine vollständige Liste aller wichtigen Änderungen pro Version benötigt wird
- Die Upgrade-Guides für jQuery 1.9, 3.0 und 3.5 listen alle wichtigen Änderungen dieser Releases auf
- Die meisten der aufgeführten wichtigen Änderungen betreffen den eigenen Code wahrscheinlich nicht, aber diese Leitfäden liefern zusätzlichen Kontext und Erläuterungen zu jeder Änderung
Hinweise zu künftigen jQuery-Versionen
- jQuery 4.0 rückt näher, daher stellt sich vielleicht die Frage, wie ein Upgrade auf jQuery 4.x aussehen wird
- Die Antwort: genauso wie ein Upgrade auf jQuery 3.x, und es kann in einem einzigen Schritt erfolgen
- Das heißt, vor einem Upgrade auf jQuery 4.x ist kein vorheriges Upgrade auf jQuery 3.x nötig
- Von jQuery 1.9+ kann direkt auf jQuery 4.x aktualisiert werden
- Ein Upgrade-Guide für jQuery 4.0 ist ebenfalls geplant
Meinung von GN⁺
- Da jQuery auf vielen Websites weiterhin stark verbreitet ist, sind Versions-Upgrades eine wichtige Aufgabe für Webentwickler
- Wer alte Versionen weiterverwendet, kann neu entdeckten Schwachstellen weiterhin ausgesetzt sein und zudem Performance-Probleme bekommen
- Bei Legacy-Systemen, die ältere jQuery-Versionen verwenden, kann ein Upgrade jedoch erheblichen Zeit- und Kostenaufwand verursachen
- In solchen Fällen kann es ebenfalls ein sinnvoller Ansatz sein, Risiken etwa durch das Einspielen von Security-Patches zu verringern
- Mit Plugins wie Migrate lässt sich ein Upgrade zwar erleichtern, dennoch können Kompatibilitätsprobleme auftreten
- Das gilt besonders für Legacy-Code mit starker Abhängigkeit von jQuery
- Um das zu lösen, ist eine schrittweise Migration nötig
- Bei neuen Projekten kann es vorteilhaft sein, sie von vornherein ohne Abhängigkeit von jQuery zu entwerfen
- Der Einsatz von Vanilla JS oder modernen Frontend-Frameworks ist zukunftsorientierter
- Für Entwickler, die mit jQuery gearbeitet haben, kann dies eine gute Gelegenheit sein, sich an neue Technologien zu wagen und so die eigenen Fähigkeiten zu erweitern
3 Kommentare
Wenn jQuery nicht aktualisiert und Sicherheitsprobleme nicht behoben werden
--> Wenn jQuery nicht aktualisiert wird oder Sicherheitsprobleme nicht behoben werden