¿Cuál es la diferencia entre jQuery versión 1, versión 2 y versión 3? [cerrado]

114

Recientemente me encontré con un webchart.jsdiseño de página que usa jQuery versión 2, y estoy usando jQuery versión 1.

Para que el código funcione, asegúrese de usar ahora la última versión, luego verifiqué el soporte central de jQuery y tienen jQuery 3 lanzado.

Estoy pensando en usar la versión 3 ahora, pero estoy buscando si la versión 3 tiene problemas de compatibilidad, que solo se pueda usar en dispositivos específicos.

zero8
fuente

Respuestas:

250

Versiones principales

Versión 1.0: Primera versión estable.
Version 2.0: Abandonado IE 6-8 apoyo a mejoras de rendimiento y reducción de tamaño de archivo
: Version 3.0 Promises / A + soporte para Deferreds, $.ajaxy $.when, .data()compatible con HTML5

Todas las versiones

+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+
| 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                      |
+----------------+--------------------+----------------------------+----------------+---------------------------------------------------------------------------------------+

Referencia: https://en.wikipedia.org/wiki/JQuery#Release_history

Explicación detallada sobre las versiones principales

La versión 1.0 fue la primera versión estable de jQuery. Esta versión es compatible con navegadores web más antiguos que ya no son compatibles con sus respectivos desarrolladores. Si espera una gran cantidad de visitantes con navegadores web más antiguos, esta sería definitivamente la versión adecuada.

Las versiones 2.0 eliminaron la compatibilidad con Internet Explorer 6-8 para aumentar el rendimiento general de jQuery y reducir el de la biblioteca. En pocas palabras: la versión 2.0 es más rápida y más pequeña que la versión 1.0, pero ya no es compatible con los navegadores web más antiguos. Dado que Microsoft eliminó el soporte para Windows XP, es razonablemente seguro asumir que sus visitantes usarán un navegador compatible con la versión 2.0 a menos que sepa de antemano que este no será el caso (consulte la versión 1.0).

Con el lanzamiento de la versión 3.0, ambas versiones 1.11.1 y 2.1.1 se actualizarán a jQuery Compat 3.0 y jQuery 3.0. jQuery Compat 3.0 seguirá admitiendo navegadores más antiguos como Internet Explorer 8, mientras que la versión normal 3.0 solo admitirá navegadores de hoja perenne (las versiones actual y anterior de un navegador específico).

Con el lanzamiento de la Versión 3.0, no hay razón para ceñirse a la versión 1.0 o 2.0. Algunas notas del blog oficial de jQuery:

  • Si necesita soporte para la más amplia variedad de navegadores, incluidos IE8, Opera 12, Safari 5 y similares, use el paquete jQuery-Compat 3.0.0. Recomendamos esta versión para la mayoría de los sitios web, ya que proporciona la mejor compatibilidad para todos los visitantes del sitio web.
  • Si su sitio web está creado solo para navegadores de última generación, o es una aplicación basada en HTML contenida en una vista web (por ejemplo, PhoneGap o Cordova) donde sabe qué motores de navegador están en uso, elija el paquete jQuery 3.0.0 .
  • Hasta que anunciemos lo contrario, ambos paquetes contendrán las mismas API públicas en versiones mayores y menores numeradas correspondientemente. Esto debería facilitar a los desarrolladores el cambio entre los dos y ser máximamente compatible con los complementos de jQuery de terceros.

Referencia: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/

cubito de hielo
fuente
6
Nota para los usuarios de ASP.NET 4.0: jQuery 3.x rompe la devolución. jquery.com/upgrade-guide/3.0/…
Jared Thirsk
2
¿Es esta respuesta realmente precisa? Por lo que he aprendido, jQuery Compat 3.0 ni siquiera está disponible en más de una versión alfa.
HischT
2
Las referencias de @HischT se proporcionan con la respuesta. La parte de la que estás hablando está copiada de la propia publicación del blog de jQuery sobre esto. No sé qué tan exacto quiere que sea, pero puedo asegurar que no será mejor que tener la fuente como referencia. Además, mire la fecha de esta respuesta. Eso fue hace más de 2 años. Hago todo lo posible para mantener esto actualizado con información relevante sobre los nuevos lanzamientos, pero eso es todo. Si cree que se pueden hacer mejoras, edite la respuesta y haga que la revisemos yo o la comunidad.
icecub
2
@icecub Tenga en cuenta que mi comentario fue formulado como una pregunta y no como un hecho verdadero, porque no estoy 100% seguro al respecto. Intenté descargar o incluso encontrar información sobre jQuery Compat 3 y no puedo encontrar más información que la publicación de blog a la que te refieres, y una versión alfa adicional de la misma. Para mí, parece que abandonaron jQuery Compat 3 justo antes del lanzamiento. Si alguien puede demostrar que estoy equivocado, estaré muy feliz ya que me encantaría usar jQuery Compat 3 en mi proyecto.
HischT
6
Jquery-compat se canceló antes del lanzamiento a principios de 2016 después de que MS dejara de admitir IE8-10. blog.jquery.com/2016/01/14/jquery-3-0-beta-released
Dan Is Fiddling By Firelight