У нас были проблемы с Mootools, которые не были очень совместимы в обратном направлении, особенно в области перетаскивания. Мне было интересно, есть ли у кого-то подобные проблемы с jQuery, которые не поддерживают обратную совместимость. Мы начинаем использовать его довольно сильно и думаем о переходе на новую версию, чтобы начать использовать несколько плагинов, которые этого требуют. Будут ли у нас какие-либо проблемы, если мы избавимся от старой версии?Насколько хорошо поддерживается jQuery для обратной совместимости?
ответ
jQuery кажется красиво обратным совместимым. Я использую его уже более двух лет через несколько версий ядра и не имею проблем при обновлении, за исключением нескольких небольших с некоторыми плагинами. Я бы сказал, что ядро кажется прекрасным, но если вы используете много плагинов, вы можете столкнуться с некоторыми проблемами (но их обычно легко исправить, или новое ядро имеет встроенную функциональность, поэтому вы можете просто отказаться их).
jQuery так серьезно относится к обратной совместимости, что они создают плагин «обратной совместимости» для каждой версии: http://docs.jquery.com/Release:jQuery_1.2#jQuery_1.1_Compatibility_Plugin. Это позволило людям, которым не нужна обратная совместимость, кроме веса страницы.
Мой опыт заключается в том, что при обновлении я иногда нахожу тот материал, который раньше работал на перерывах. Например, при обновлении с 1.7.2 до 1.8.3 я обнаружил, что некоторые функции перетаскивания перестали работать. Некоторые проблемы могут быть вызваны отказом устаревших функций jQuery, которые все еще используются несовместимыми версиями jQuery UI.
обратная совместимость не может быть сильной команды JQuery, но как и большинство вещей, это работа. Я не имею в виду пренебрежение большой работой, которую они делают, но это указывает на то, что вы просто должен всегда тестировать свои скрипты с новыми версиями jQuery.
По моему опыту, jQuery 1.x был очень совместим с обратной стороной до версии 1.9.
В строке jQuery 1.x произошли значительные изменения с jQuery 1.9.0. Мы настоятельно рекомендуем использовать плагин jQuery Migrate, если вы обновляете версии jQuery до 1.9, или вам нужно использовать плагины, которые еще не обновлены. Прочтите jQuery 1.9 Upgrade Guide и jQuery 1.9 release blog post для получения дополнительной информации.
не обновиться до 2.0, пока вы не будете уверены, что это не является проблемой для вас:
JQuery 2.x имеет тот же интерфейс, как JQuery 1.x, но не поддерживает Internet Explorer 6, 7 или 8.
jQuery выпустил обратно совместимые плагины с версии 1.0.
Веб-разработка сильно изменилась за эти годы, и jQuery изменился вместе с ней. В течение всего этого времени команда пыталась пройти линию между сохранением совместимости с кодом из прошлого и поддержкой лучших практик веб-разработки настоящего.
Проект имеет следующие задом РЕПО Совместимость:
jquery-compat-1.0(Compatibility plugin for those upgrading to jQuery 1.1+ from jQuery 1.0)
jquery-compat-1.1(Compatibility plugin for those upgrading to jQuery 1.2+ from jQuery 1.1)
jquery-xpath(Implement XPath functionality for those upgrading to jQuery 1.2 from jQuery 1.1)
jquery-compat-1.3(Backwards compatibility plugin for jQuery 1.3 (to be used with jQuery 1.4))
jquery-migrate-1.x-stable(Migrate older jQuery code to jQuery 1.9+)
Список литературы
любые примеры, где MooTools не имеет обратной совместимости? – scunliffe
@scunliffe У одного из моих коллег была проблема с функцией перетаскивания –
Оглядываться, много больших плагинов требует jQuery 1.4.x, который действительно очень старый. – Toskan