Quelle est la différence entre jQuery version 1, version 2 et version 3? [fermé]

114

Je suis récemment tombé sur une webchart.jsconception de page utilisant jQuery version 2, et j'utilise jQuery version 1.

Pour que le code fonctionne, veillez à utiliser maintenant la dernière version, puis j'ai vérifié le support de jQuery core et ils ont publié jQuery 3.

Je pense utiliser la version 3 maintenant, mais je cherche si la version 3 a des problèmes de compatibilité, qu'elle ne puisse être utilisée que sur des appareils spécifiques.

zéro8
la source

Réponses:

250

Versions majeures

Version 1.0: Première version stable.
Version 2.0: Abandon IE 6-8 appui pour l' amélioration des performances et de réduction de la taille du fichier
Version 3.0: Local / A + support pour Deferreds, $.ajaxet $.when, .data()HTML5 compatible

Toutes les versions

+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| Version Number |    Release Date    |       Latest Update        | Size Prod (KB) |                                   Additional Notes                                    |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| 1.0            | August 26, 2006    |                            |                | First stable release                                                                  |
| 1.1            | January 14, 2007   |                            |                |                                                                                       |
| 1.2            | September 10, 2007 | 1.2.6                      | 54             |                                                                                       |
| 1.3            | January 14, 2009   | 1.3.2                      | 55.9           | Sizzle Selector Engine introduced into core                                           |
| 1.4            | January 14, 2010   | 1.4.4                      | 76             |                                                                                       |
| 1.5            | January 31, 2011   | 1.5.2                      | 83             | Deferred callback management, ajax module rewrite                                     |
| 1.6            | May 3, 2011        | 1.6.4                      | 89             | Significant performance improvements to the attr() and val() functions                |
| 1.7            | November 3, 2011   | 1.7.2 (March 21, 2012)     | 92             | New Event APIs: .on() and .off(), while the old APIs are still supported.             |
| 1.8            | August 9, 2012     | 1.8.3 (November 13, 2012)  | 91.4           | Sizzle Selector Engine rewritten, improved animations and $(html, props) flexibility. |
| 1.9            | January 15, 2013   | 1.9.1 (February 4, 2013)   | 90             | Removal of deprecated interfaces and code cleanup                                     |
| 1.10           | May 24, 2013       | 1.10.2 (July 3, 2013)      | 91             | Incorporated bug fixes and differences reported from both the 1.9 and 2.0 beta cycles |
| 1.11           | January 24, 2014   | 1.11.3 (April 28, 2015)    | 95.9           |                                                                                       |
| 1.12           | January 8, 2016    | 1.12.4 (May 20, 2016)      | 95             |                                                                                       |
| 2.0            | April 18, 2013     | 2.0.3 (July 3, 2013)       | 81.1           | Dropped IE 68 support for performance improvements and reduction in filesize         |
| 2.1            | January 24, 2014   | 2.1.4 (April 28, 2015)     | 82.4           |                                                                                       |
| 2.2            | January 8, 2016    | 2.2.4 (May 20, 2016)       | 85.6           |                                                                                       |
| 3.0            | June 9, 2016       | 3.0.0 (June 9, 2016)       | 86.3           | Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible        |
| 3.1            | July 7, 2016       | 3.1.1 (September 23, 2016) | 86.3           | jQuery.readyException added, ready handler errors are now not silenced                |
| 3.2            | March 16, 2017     | 3.2.1 (March 20, 2017)     | 84.6           | Hotfixes for regressions that were introduced in the 3.2.0                            |
| 3.3            | January 19, 2018   | 3.3.1 (January 20, 2018)   | 84.8           | Deprecation of old function calls, functions that accept classes now support them     |
|                |                    |                            |                | defined in an array                                                                   |
| 3.4            | April 10, 2019     | 3.4.1 (May 1, 2019)        | 86.1           | Performance improvements, nonce and nomodule support, fixes for radio elements, a     |
|                |                    |                            |                | minor security fix                                                                    |
| 3.5            | April 10, 2020     | 3.5.1 (May 4, 2020)        | 87.4           | Security fixes, .even() & .odd() methods, jQuery.trim deprecated                      |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+

Référence: https://en.wikipedia.org/wiki/JQuery#Release_history

Explication détaillée sur les principales versions

La version 1.0 était la première version stable de jQuery. Cette version prend en charge les navigateurs Web plus anciens qui ne sont même plus pris en charge par leurs développeurs respectifs. Si vous attendez un grand nombre de visiteurs avec des navigateurs Web plus anciens, ce serait certainement la version qu'il vous faut.

Les versions 2.0 ont abandonné la prise en charge d'Internet Explorer 6-8 pour augmenter les performances globales de jQuery et réduire la taille des fichiers de la bibliothèque. En termes simples: la version 2.0 est plus rapide et plus petite que la version 1.0, mais elle ne prend plus en charge les anciens navigateurs Web. Puisque Microsoft a abandonné la prise en charge de Windows XP, il est raisonnablement sûr de supposer que vos visiteurs utiliseront un navigateur compatible avec la version 2.0, à moins que vous ne sachiez à l'avance que ce ne sera pas le cas (voir la version 1.0).

Avec la sortie de la version 3.0, les deux versions 1.11.1 et 2.1.1 seront mises à niveau vers jQuery Compat 3.0 et jQuery 3.0. jQuery Compat 3.0 prendra toujours en charge les navigateurs plus anciens comme Internet Explorer 8 tandis que la version standard 3.0 ne prendra en charge que les navigateurs à feuilles persistantes (les versions actuelles et précédentes d'un navigateur spécifique).

Avec la sortie de la version 3.0, il n'y a aucune raison de s'en tenir à la version 1.0 ou 2.0. Quelques notes du blog officiel jQuery:

  • Si vous avez besoin de la prise en charge de la plus grande variété de navigateurs, notamment IE8, Opera 12, Safari 5, etc., utilisez le package jQuery-Compat 3.0.0. Nous recommandons cette version pour la plupart des sites Web, car elle offre la meilleure compatibilité pour tous les visiteurs du site Web.
  • Si votre site Web est conçu uniquement pour les navigateurs de pointe persistants, ou est une application HTML contenue dans une vue Web (par exemple PhoneGap ou Cordova) où vous savez quels moteurs de navigateur sont utilisés, optez pour le package jQuery 3.0.0 .
  • Jusqu'à ce que nous annonçons le contraire, les deux packages contiendront les mêmes API publiques dans des versions majeures et mineures numérotées en conséquence. Cela devrait permettre aux développeurs de basculer facilement entre les deux et d'être au maximum compatible avec les plugins jQuery tiers.

Référence: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/

glace
la source
6
Remarque pour les utilisateurs d'ASP.NET 4.0: jQuery 3.x interrompt la publication. jquery.com/upgrade-guide/3.0/…
Jared Thirsk
2
Cette réponse est-elle vraiment exacte? Pour autant que j'ai appris, jQuery Compat 3.0 n'est même pas disponible dans plus qu'une version alpha.
HischT
2
@HischT Les références sont fournies avec la réponse. La partie dont vous parlez est même copiée du propre blog de jQuery à ce sujet. Je ne sais pas à quel point vous voulez qu'il soit précis, mais je peux vous assurer que ce ne sera pas mieux que d'avoir la source comme référence. Regardez également la date de cette réponse. C'était il y a plus de 2 ans. Je fais de mon mieux pour garder cela à jour avec des informations pertinentes concernant les nouvelles versions, mais c'est à peu près tout. Si vous pensez que des améliorations peuvent être apportées, modifiez la réponse et faites-la examiner par moi ou par la communauté.
icecub
2
@icecub Veuillez noter que mon commentaire a été formulé comme une question et non comme un fait vrai, car je n'en suis pas sûr à 100%. J'ai juste essayé de télécharger ou même de trouver des informations sur jQuery Compat 3 et je ne trouve pas plus d'informations que ce billet de blog auquel vous faites référence, et une version alpha supplémentaire de celui-ci. Pour moi, il semble qu'ils ont abandonné jQuery Compat 3 juste avant le lancement. Si quelqu'un peut me prouver le contraire, je serai très heureux car j'aimerais utiliser jQuery Compat 3 dans mon projet.
HischT
6
Jquery-compat a été annulé avant sa sortie début 2016 après que MS a abandonné le support pour IE8-10. blog.jquery.com/2016/01/14/jquery-3-0-beta-released
Dan Is Fiddling By Firelight