6 Punkte von GN⁺ 2024-04-19 | 3 Kommentare | Auf WhatsApp teilen
  • 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

 
[Dieser Kommentar wurde ausgeblendet.]
 
[Dieser Kommentar wurde ausgeblendet.]
 
kandk 2024-04-19

Wenn jQuery nicht aktualisiert und Sicherheitsprobleme nicht behoben werden
--> Wenn jQuery nicht aktualisiert wird oder Sicherheitsprobleme nicht behoben werden