В чем разница между jQuery версии 1, версии 2 и версии 3? [закрыто]

114

Недавно я наткнулся на webchart.jsдизайн страницы с использованием jQuery версии 2, и я использую jQuery версии 1.

Чтобы код работал, используйте последнюю версию, затем я проверил поддержку ядра jQuery, и они выпустили jQuery 3.

Я думаю об использовании версии 3 сейчас, но я ищу, если у версии 3 есть проблемы с совместимостью, чтобы она могла использоваться только на определенных устройствах.

zero8
источник

Ответы:

250

Основные версии

Версия 1.0: первый стабильный выпуск.
Версия 2.0: прекращена поддержка IE 6–8 для повышения производительности и уменьшения размера файла.
Версия 3.0: поддержка Promises / 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 об этом. Я не знаю, насколько точным вы хотите, чтобы это было, но я могу заверить, что это не будет лучше, чем иметь источник в качестве ссылки. Также обратите внимание на дату этого ответа. Это было более двух лет назад. Я изо всех сил стараюсь держать это в курсе актуальной информации о новых выпусках, но это почти все. Если вы считаете, что можно внести улучшения, отредактируйте ответ и передайте его на рассмотрение мне или сообществу.
icecub
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 By Firelight