Wann sollte jQuery aktualisiert werden?


19

Wann empfehlen Sie die Aktualisierung von jQuery / jQuery UI? Oder mit anderen Worten: Was sind die Best Practices zum Aktualisieren von jQuery / jQuery UI?

Ich arbeite an einem langen Projekt, das noch mindestens ein Jahr dauern wird. In dieser Zeitspanne wird die Benutzeroberfläche von jQuery / jQuery sicher viele Male aktualisiert.

Empfehlen Sie, meine jQuery / jQuery-UI-Dateien jedes Mal zu aktualisieren, wenn ein Update veröffentlicht wird? Oder ist es besser, bis zum Ende des Projekts an einer bestimmten Version festzuhalten?

Ich habe Angst, Codeänderungen zu „brechen“, und jedes Mal, wenn ein Update veröffentlicht wird, muss ich alles testen. Das dauert zu lange. Aber auf der anderen Seite, wenn ich nicht update, habe ich Angst vor Fehlern, die mich später im Heck beißen werden.

Das Projekt ist eine ASP.MVC und ich benutze viel jQuery.

Irgendwelche Gedanken?


Dieser Artikel ist möglicherweise relevant: Es wird dringend empfohlen, stets auf dem neuesten Stand zu sein,
Alex Feinman

Antworten:


19

Aktualisieren Sie Ihre Version von jQuery genau dann, wenn Sie eine neue Funktion benötigen, die in der neuen Version enthalten ist. So einfach ist das.

Wenn Sie häufig mit jQuery entwickeln, lesen Sie den offiziellen Blog, um zu erfahren, wann Updates veröffentlicht werden und was sie bieten. Warten Sie einige Wochen, bevor Sie auf die neueste Version aktualisieren, um sicherzustellen, dass unerwartete Fehler behoben werden.


1
+1 Es ist der stabilste Weg, dies zu tun. Ein Upgrade zum Zwecke des Upgrades verlängert Ihre gesamte Entwicklungszeit, wenn Sie Fehler bekämpfen.
Nicholas Smith

2
Behalten Sie auch Ihre Plug-Ins im Auge. Manchmal erfordert die Fehlerbehebung eines Plug-ins ein Upgrade des jQuery-Kerncodes.
Adrian J. Moreno

12
Ich bin mit dieser Antwort nicht einverstanden. Wenn sich das Produkt noch in der Entwicklung befindet, wie es sich nach der Frage anhört, aktualisieren Sie es mit jeder neuen Version von jQuery. Wenn das Produkt in Produktion ist, dann stimme ich dieser Antwort zu, Upgrade nur, wenn ein Upgrade erforderlich ist (Fehlerkorrekturen, neue Funktion ... usw.)
Chuck Conway

@ChuckConway: Gut gesagt.
Jim G.

20

Sie sollten bei jedem Release von jQuery ein Upgrade durchführen - werfen Sie vor dem Update einen Blick auf die Update-Protokolle .

Das jQuery-Team ist sehr gut darin , API-Änderungen und veraltete Aufrufe zu dokumentieren . Zu diesem Zeitpunkt ist die überwiegende Mehrheit der API ziemlich stabil und wird sich wahrscheinlich nicht ändern. Die meisten Änderungen sind Fehlerbehebungen im Hintergrund, die sich nicht auf die Outward-API auswirken. Dies gilt insbesondere für die neuesten Versionen (1.8+).

Ein weiterer wichtiger Grund für die Aktualisierung ist, dass das Projekt, unabhängig davon, ob Sie in einem Projekt verbleiben oder nicht, von jemandem verwaltet wird, nachdem Sie damit fertig sind. Ein Upgrade auf die neueste Version ist für Sie, zukünftige Entwickler und Benutzer von Vorteil - weil die neueren Versionen von jQuery die älteren aus dem Wasser sprengen ... also machen Sie weiter und aktualisieren Sie die Änderungen.


4
Dies sollte die akzeptierte Antwort sein. Wenn Sie also ein Upgrade durchführen möchten, müssen Sie größere Versionssprünge durchführen, was sehr viel schwieriger ist.
Daniel Little

5

Rüste auf, sobald du kannst, ohne etwas zu beschädigen. In jeder Iteration werden neue Funktionen, Fehlerbehebungen und neue Funktionen eingeführt.

Möglicherweise benötigen Sie nicht die neuesten Funktionen, aber wenn Sie dies tun, müssen Sie jede neue Version zwischenzeitlich validieren, um sicherzustellen, dass nichts kaputt geht.

Mit kleinen Schritten können Sie alles auf dem neuesten Stand halten, ohne 5 Hauptversionen aktualisieren und 5 Stunden damit verbringen zu müssen, alles auf einmal zu testen.


1
Ich versuche immer noch herauszufinden, ob ein Update von 1.4.x auf 1.7.x zu Problemen führen wird.
Styfle

4

Benötigen Sie eine der neuen Funktionen, die in einer neueren Version von JQuery enthalten sind? Funktioniert Ihre Website heute wie erwartet?

Wenn Sie die erste Frage mit "Nein" und die zweite Frage mit "Ja" beantwortet haben, führen Sie kein Upgrade von jQuery durch.

Wenn Sie neue Funktionen benötigen, müssen Sie dies gegen die Kosten für erhöhte Tests und die mögliche Einführung neuer Probleme abwägen.

Wenn Sie Probleme mit Ihrer aktuellen Version von JQuery haben, hat möglicherweise eine neuere Version Ihr Problem behoben, aber Sie haben immer noch eine erhöhte Testlast, da Sie sicherstellen müssen, dass die neue Version nichts anderes beschädigt.

Aus diesem Grund ist eine gute Zusammenstellung von Geräte-, Funktions- und Funktionstests so wichtig.


2

Nur Sie können entscheiden, ob sich die Risiken lohnen. Persönlich bleibe ich gerne auf dem Laufenden. Ich habe jedoch ein paar Fehler beim Upgraden entdeckt, die etwas kaputt machten (oder merkwürdiges Verhalten verursachten). Da Ihnen ein Jahr der Entwicklung bevorsteht, müssen Sie wahrscheinlich trotzdem eine endgültige Qualitätssicherung durchlaufen.

Ich sage immer auf dem Laufenden. Es ist viel einfacher, kontinuierliche kleine Integrationen als große auf einmal durchzuführen.


0

Prüfung. Test, Test, Test, Test, Test.

Ich habe die jQuery-UI-Version (damals aktuelle Version) für ein Projekt verwendet und ein externes Plug-in namens .autocomplete verwendet, das die Typ-Ahead-Funktion ausführte und ein Textfeld mit einer JSON-Datenquelle verband. Benutzte es eine Menge Orte.

Dann, Monate später, musste ich ein Schieberegler-Steuerelement hinzufügen, das nur in einer neueren Version verfügbar war. Leider fügte diese neuere Version eine native Autocomplete-Funktion hinzu, von der sie behaupteten, sie sei der geistige Nachfolger des von mir verwendeten Plugins, die jedoch völlig andere Methoden, Funktionen und Datenanforderungen verwendete und die Autocomplete-Felder auf jeder von mir verwendeten Seite aufbrach mein neuer slider auf.

Da die Seiten, auf denen ich diese neue Funktion entwickelte, keine Autovervollständigungen verwendeten, bemerkte ich es nicht. Da mein Kunde es eilig hatte, dieses Feature vor einer Messe bereitzustellen, wurde es durch Inszenierungen und Tests gehetzt und ging mit einer Menge kaputter Autovervollständigungen in Produktion.

Letztendlich war es ein Fehler bei MEINEN Tests. Und die gewonnene Erkenntnis ist, dass jQuery und jQuery UI sehr wenig Interesse an der Abwärtskompatibilität haben. Das stellt die Anforderung an uns als Entwickler, zu testen und zu testen und zu testen.


-1

Nach meiner Erfahrung sind neue jQuery-Versionen in Bezug auf den aufrufenden Code (Ihren Code) in der Regel strenger hinsichtlich der Anforderungen an die Code-Sauberkeit.

Es gibt zahlreiche Elemente, die als veraltet eingestuft wurden ( http://api.jquery.com/category/deprecated/ ). Leider ist auf der Seite kein veraltetes Tag vorhanden. Ältere Abschreibungen können eher etwas kaputt machen.

Vor allem (für mich) sind der :checkboxSelektor und die toggle()Funktion veraltet. Vor einiger Zeit hat sich diese Änderung auf meinen eigenen (ältesten) JQuery-Code ausgewirkt. Ich habe das eine Weile nicht realisiert.

Auf der anderen Seite bringen neuere jQuery-Releases in der Regel erhebliche Leistungsverbesserungen mit sich. Überprüfen Sie die Änderungsprotokolle oder eine der Präsentationen von John Resig, um festzustellen, wo die Leistungsverbesserungen erzielt wurden. Wenn Sie davon profitieren würden ... entscheiden Sie selbst.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.