Qual è la differenza tra jQuery versione 1, versione 2 e versione 3? [chiuso]


114

Recentemente mi sono imbattuto in un webchart.jsdesign di pagina utilizzando jQuery versione 2 e sto usando jQuery versione 1.

Affinché il codice funzioni, assicurati di utilizzare ora l'ultima versione, quindi ho controllato il supporto del core jQuery e hanno rilasciato jQuery 3.

Sto pensando di utilizzare la versione 3 ora, ma sto cercando se la versione 3 ha problemi di compatibilità, che può essere utilizzata solo su dispositivi specifici.

Risposte:


250

Versioni principali

Versione 1.0: prima versione stabile.
Versione 2.0: Dropped IE 6-8 il supporto per il miglioramento delle prestazioni e la riduzione in dimensione del file
: Versione 3.0 Promesse / A + supporto per Deferreds, $.ajaxe $.when, .data()compatibile con HTML5

Tutte le versioni

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

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

Spiegazione dettagliata sulle versioni principali

La versione 1.0 è stata la prima versione stabile di jQuery. Questa versione supporta i browser Web meno recenti che non sono nemmeno più supportati dai rispettivi sviluppatori. Se ti aspetti una grande quantità di visitatori con browser Web meno recenti, questa sarebbe sicuramente la versione giusta.

Le versioni 2.0 hanno abbandonato il supporto per Internet Explorer 6-8 per aumentare le prestazioni complessive di jQuery e ridurre la dimensione del file della libreria. In parole semplici: la versione 2.0 è più veloce e di dimensioni inferiori rispetto alla versione 1.0, ma non supporta più i browser Web meno recenti. Dal momento che Microsoft ha abbandonato il supporto per Windows XP, è ragionevolmente lecito ritenere che i tuoi visitatori utilizzeranno un browser compatibile con la versione 2.0 a meno che tu non sappia in anticipo che non sarà così (vedi versione 1.0).

Con il rilascio della versione 3.0 entrambe le versioni 1.11.1 e 2.1.1 verranno aggiornate a jQuery Compat 3.0 e jQuery 3.0. jQuery Compat 3.0 supporterà ancora i browser meno recenti come Internet Explorer 8, mentre la versione normale 3.0 supporterà solo i browser evergreen (la versione corrente e precedente di un browser specifico).

Con il rilascio della versione 3.0 non c'è motivo di attenersi alla versione 1.0 o 2.0. Alcune note dal blog ufficiale di jQuery:

  • Se hai bisogno del supporto per la più ampia varietà di browser inclusi IE8, Opera 12, Safari 5 e simili, usa il pacchetto jQuery-Compat 3.0.0. Consigliamo questa versione per la maggior parte dei siti web, poiché fornisce la migliore compatibilità per tutti i visitatori del sito web.
  • Se il tuo sito web è stato creato solo per browser all'avanguardia o è un'app basata su HTML contenuta in una visualizzazione web (ad esempio PhoneGap o Cordova) in cui sai quali motori del browser sono in uso, scegli il pacchetto jQuery 3.0.0 .
  • Fino a quando non annunciamo diversamente, entrambi i pacchetti conterranno le stesse API pubbliche nelle versioni principali e secondarie numerate in modo corrispondente. Ciò dovrebbe rendere facile per gli sviluppatori passare da uno all'altro ed essere al massimo compatibile con i plugin jQuery di terze parti.

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


6
Nota per gli utenti di ASP.NET 4.0: jQuery 3.x interrompe il postback. jquery.com/upgrade-guide/3.0/…
Jared Thirsk

2
Questa risposta è davvero accurata? Per quanto ne so, jQuery Compat 3.0 non è nemmeno disponibile in più di una versione alpha.
HischT

2
I riferimenti @HischT sono forniti con la risposta. La parte di cui parli è persino copiata letteralmente dal post del blog di jQuery su questo. Non so quanto tu voglia che sia accurato, ma posso assicurare che non migliorerà che avere la fonte come riferimento. Inoltre, guarda la data di questa risposta. È stato più di 2 anni fa. Faccio del mio meglio per mantenerlo aggiornato con informazioni rilevanti sulle nuove versioni, ma è praticamente tutto. Se ritieni che possano essere apportati miglioramenti, modifica la risposta e fallo esaminare da me o dalla community.
icecub

2
@icecub Si prega di notare che il mio commento è stato formulato come una domanda e non come un fatto vero, perché non ne sono sicuro al 100%. Ho appena provato a scaricare o persino a trovare informazioni su jQuery Compat 3 e non riesco a trovare altre informazioni oltre al post del blog a cui ti riferisci e una versione alpha aggiuntiva di esso. A me sembra che abbiano abbandonato jQuery Compat 3 appena prima del lancio. Se qualcuno può dimostrare che mi sbaglio sarò molto felice poiché mi piacerebbe usare jQuery Compat 3 nel mio progetto.
HischT

6
Jquery-compat è stato annullato prima del rilascio all'inizio del 2016 dopo che MS aveva abbandonato il supporto per IE8-10. blog.jquery.com/2016/01/14/jquery-3-0-beta-released
Dan Is Fiddling By Firelight
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.