Quand mettre à jour jQuery?


19

Lorsque vous recommandez de mettre à jour jQuery / jQuery UI? Ou en d'autres termes: quelles sont les meilleures pratiques pour mettre à jour jQuery / jQuery UI?

Je travaille sur un long projet qui prendra au moins un an de plus. Dans ce laps de temps, je suis sûr que jQuery / jQuery UI sera mis à jour plusieurs fois.

Recommandez-vous de mettre à jour mes fichiers jQuery / jQuery UI chaque fois qu'une mise à jour est publiée? Ou vaut-il mieux s'en tenir à une version particulière jusqu'à la fin du projet?

J'ai peur de "casser" les changements de code, et chaque fois qu'une mise à jour est publiée, je dois tout tester. Cela prend trop de temps. Mais d'un autre côté, si je n'ai pas mis à jour, j'ai peur des bugs qui plus tard me mordront à l'arrière.

Le projet est un ASP.MVC et j'utilise beaucoup jQuery.

Des pensées?


Cet article peut être pertinent: il invite à toujours être à la pointe en établissant un lien vers la version hébergée par Google: encosia.com/…
Alex Feinman

Réponses:


19

Mettez à jour votre version de jQuery si et seulement si vous avez besoin d'une nouvelle fonctionnalité incluse dans la nouvelle version. Aussi simple que cela.

Si vous développez fréquemment en utilisant jQuery, gardez un œil sur le blog officiel pour savoir quand les mises à jour sont publiées et ce qu'elles offrent. Attendez quelques semaines avant de passer à la dernière version pour vous assurer que tous les bugs inattendus sont éliminés.


1
+1 c'est la façon la plus stable de le faire, la mise à niveau dans le but de la mise à niveau augmente votre temps de développement global lorsque vous finissez par combattre des bugs.
Nicholas Smith

2
Gardez également un œil sur vos plug-ins. Parfois, la correction d'un bogue d'un plug-in nécessite la mise à niveau du code jQuery de base.
Adrian J. Moreno

12
Je ne suis pas d'accord avec cette réponse. Si le produit est toujours en cours de développement, comme cela semble résulter de la question, mettez à niveau avec chaque nouvelle version de jQuery. Si le produit est en production, je suis d'accord avec cette réponse, ne mettez à niveau que lorsqu'une mise à niveau est requise (corrections de bugs, nouvelle fonctionnalité, etc.)
Chuck Conway

@ChuckConway: Bien dit.
Jim G.

20

Vous devez mettre à niveau avec chaque version de jQuery - jetez simplement un œil aux journaux de mise à jour avant la mise à jour.

L'équipe jQuery est très compétente pour documenter les changements d'API et les appels obsolètes . À ce stade, la grande majorité de l'API est assez stable et ne changera probablement pas. La plupart des modifications sont des corrections de bogues en arrière-plan qui n'affectent pas l'API sortante. Cela est particulièrement vrai avec les dernières versions (1.8+).

Une autre bonne raison de mettre à jour est que, que vous restiez ou non sur un projet, ce projet sera maintenu par quelqu'un une fois que vous en aurez terminé. La mise à niveau vers la dernière version est bénéfique pour vous, futurs développeurs et utilisateurs - car les nouvelles versions de jQuery font sauter les plus anciennes de l'eau ... alors allez-y et mettez à jour le thang.


4
Cela devrait être la réponse acceptée, ce qui signifie que lorsque vous souhaitez enfin mettre à niveau, vous devez effectuer des sauts de version plus grande, ce qui est beaucoup plus difficile.
Daniel Little

5

Mettez à niveau dès que vous le pouvez sans rien casser. De nouvelles fonctionnalités, correction de bugs, de nouvelles fonctionnalités sont introduites dans chaque itération.

Vous n'aurez peut-être pas besoin des dernières fonctionnalités, mais lorsque vous le ferez, vous devrez valider chaque nouvelle version entre ce que vous avez pour vous assurer qu'elle ne casse rien.

Un petit incrément vous permettra de tout garder à jour sans avoir à mettre à niveau 5 versions majeures et à passer 5 heures à tout tester à la fois.


1
J'essaie toujours de savoir si la mise à jour de 1.4.x à 1.7.x cassera quoi que ce soit.
styfle

4

Avez-vous besoin des nouvelles fonctionnalités incluses dans une version plus récente de JQuery? Votre site fonctionne-t-il comme prévu aujourd'hui?

Si vous avez répondu «non» à la première et «oui» à la deuxième question, ne mettez pas à niveau jQuery.

Si vous avez besoin de nouvelles fonctionnalités, vous devez équilibrer cela avec le coût de l'augmentation des tests et de l'introduction éventuelle de nouveaux problèmes.

Si vous avez des problèmes avec votre version actuelle de JQuery, alors une version plus récente peut avoir résolu votre problème, mais vous avez toujours une charge de test accrue car vous devez vous assurer que la nouvelle version ne casse rien d'autre.

C'est pourquoi avoir une bonne suite de tests unitaires, fonctionnels et fonctionnels est si essentiel.


2

Vous seul pouvez décider si les risques en valent la peine. Personnellement, j'aime rester à jour. Cependant, j'ai eu quelques bugs introduits lors de la mise à niveau qui ont cassé quelque chose (ou causé un comportement étrange). Étant donné que vous avez une année de développement devant vous, il est probable que cela devra passer par un AQ final de toute façon.

Je dis de rester à jour. Il est beaucoup plus facile de faire de petites intégrations continues que de grandes à la fois.


0

Tester. Test, test, test, test, test.

J'ai utilisé la version jQuery UI (alors en cours) sur un projet et utilisé un plugin externe appelé .autocomplete qui a fait une fonctionnalité de saisie anticipée, liant un champ de texte à une source de données JSON. Je l'ai utilisé beaucoup d'endroits.

Puis, des mois plus tard, j'ai dû ajouter un contrôle de curseur qui n'est venu que dans une version plus récente. Malheureusement, cette version plus récente a ajouté une fonction de saisie semi-automatique native , qui, selon eux, était le successeur spirituel du plug-in que j'avais utilisé, mais qui utilisait une méthodologie, des fonctions et des exigences de données entièrement différentes, brisant les champs de saisie semi-automatique sur chaque page que j'utilisais mon nouveau curseur sur.

Parce que les pages sur lesquelles je développais cette nouvelle fonctionnalité n'utilisaient pas de saisie semi-automatique, je ne l'ai pas remarqué. Parce que mon client était pressé de mettre cette fonctionnalité en place avant une foire commerciale, elle a été précipitée par la mise en scène et les tests, et est entrée en production avec un crapton d'autocomplets cassés.

En fin de compte, ce fut un échec de MES tests. Et la leçon apprise est que jQuery et jQuery UI ont très peu d' intérêt pour la compatibilité descendante. Ce qui nous oblige, en tant que développeurs, à tester et tester et tester.


-1

D'après mon expérience, les nouvelles versions de jQuery sont généralement plus rigoureuses dans leurs exigences de propreté du code concernant le code appelant (votre code).

De nombreux éléments sont devenus obsolètes ( http://api.jquery.com/category/deprecated/ ). Malheureusement, il n'y a pas de balise obsolète depuis sur la page. Les dépréciations plus anciennes sont plus susceptibles de casser quelque chose.

Plus particulièrement (pour moi), le :checkboxsélecteur et la toggle()fonction sont obsolètes. Il y a quelque temps, ce changement a affecté mon propre code jquery (le plus ancien). Je ne m'en suis pas rendu compte pendant un moment.

D'un autre côté, les nouvelles versions de jQuery s'accompagnent généralement d'améliorations substantielles des performances. Consultez les journaux des modifications ou peut-être l'une des présentations de John Resig pour voir où les améliorations de performances ont été réalisées. Si vous en tiriez un quelconque avantage ... à vous de décider.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.