Яка різниця між версією jQuery 1, версією 2 та версією 3? [зачинено]


114

Нещодавно я натрапив на webchart.jsдизайн сторінки, використовуючи jQuery версії 2, і я використовую jQuery версії 1.

Щоб код працював, я використовую останню версію, тоді я перевірив підтримку ядра jQuery, і вони випустили jQuery 3.

Я думаю про використання версії 3 зараз, але я шукаю, якщо у версії 3 є проблеми сумісності, що вона може використовуватися лише на певних пристроях.

Відповіді:


250

Основні версії

Версія 1.0: Перший стабільний реліз.
Версія 2.0: підтримка IE 6–8 для покращення продуктивності та зменшення розміру файлів
Версія 3.0: Обіцянки / підтримка A + для відкладених $.ajaxта $.when, .data()сумісна з HTML5

Усі версії

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

Довідка: https://en.wikipedia.org/wiki/JQuery#Release_history

Детальне пояснення основних версій

Версія 1.0 стала першим стабільним випуском jQuery. Цей випуск підтримує старі веб-браузери, які вже не підтримуються відповідними розробниками. Якщо ви очікуєте великої кількості відвідувачів зі старими веб-браузерами, це, безумовно, буде версією.

Версії 2.0 знизили підтримку Internet Explorer 6-8, щоб збільшити загальну продуктивність jQuery і зменшити розмір файлів бібліотеки. Простими словами: Версія 2.0 є швидшою та меншою у розмірі файлів, ніж версія 1.0, але вона більше не підтримує старі веб-браузери. Оскільки Microsoft відмовилася від підтримки Windows XP, з достатньою впевненістю можна припустити, що ваші відвідувачі будуть використовувати браузер, сумісний з версією 2.0, якщо ви заздалегідь не знаєте, що це не буде так (див. Версію 1.0).

З випуском версії 3.0 обидві версії 1.11.1 та 2.1.1 будуть оновлені до jQuery Compat 3.0 та jQuery 3.0. jQuery Compat 3.0 як і раніше підтримуватиме старіші браузери, такі як Internet Explorer 8, тоді як звичайна версія 3.0 підтримуватиме лише вічнозелені браузери (поточну та попередні версії конкретного браузера).

З випуском версії 3.0 немає ніяких причин дотримуватися версії 1.0 чи 2.0. Кілька приміток з офіційного блогу jQuery:

  • Якщо вам потрібна підтримка найрізноманітніших браузерів, включаючи IE8, Opera 12, Safari 5 тощо, використовуйте пакет jQuery-Compat 3.0.0. Ми рекомендуємо цю версію для більшості веб-сайтів, оскільки вона забезпечує найкращу сумісність для всіх відвідувачів веб-сайту.
  • Якщо ваш веб-сайт створений лише для вічнозелених передових веб-переглядачів або це додаток на основі HTML, який міститься у веб-перегляді (наприклад, PhoneGap або Cordova), де ви знаєте, які двигуни браузера використовуються, перейдіть до пакета jQuery 3.0.0 .
  • Поки ми не оголосимо про інше, обидва пакети будуть містити однакові загальнодоступні API у відповідно пронумерованих основних та другорядних версіях. Це має полегшити розробникам можливість перемикатися між ними та бути максимально сумісними із сторонніми плагінами jQuery.

Довідка: https://blog.jquery.com/2014/10/29/jquery-3-0-the-next-generations/


6
Примітка для користувачів ASP.NET 4.0: jQuery 3.x перервує резервне копіювання. jquery.com/upgrade-guide/3.0/…
Джаред Тірск

2
Чи справді ця відповідь точна? Наскільки я дізнався, jQuery Compat 3.0 навіть не доступний у альфа-версії.
HischT

2
@HischT Посилання надаються з відповіддю. Частина, про яку ви говорите, навіть засмічена скопійованою з цього власного допису блогу jQuery. Я не знаю, наскільки точно ви хочете, щоб це було, але я можу запевнити, що це не стане кращим, ніж джерело як орієнтир. Також подивіться дату цієї відповіді. Це було більше 2 років тому. Я роблю все можливе, щоб це було оновлено відповідною інформацією щодо нових випусків, але це майже все. Якщо ви вважаєте, що поліпшення можуть бути внесені, відредагуйте відповідь та перегляньте мене чи громаду.
крижина

2
@icecub Зауважте, що мій коментар був сформульований як питання, а не як справжній факт, оскільки я не впевнений у цьому на 100%. Я просто намагався завантажити або навіть знайти будь-яку інформацію про jQuery Compat 3 і не можу знайти більше інформації, ніж те повідомлення в блозі, на яке ви посилаєтесь, і додаткову альфа-версію. Мені здається, вони викинули jQuery Compat 3 безпосередньо перед запуском. Якщо хтось може довести мене неправильно, я буду дуже радий, оскільки хотів би використовувати jQuery Compat 3 у своєму проекті.
HischT

6
Jquery-compat було скасовано до випуску на початку 2016 року після того, як MS відмовилася від підтримки IE8-10. blog.jquery.com/2016/01/14/jquery-3-0-beta-released
Dan Is Fiddling Firelight
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.