Вопрос

У меня довольно большая база кода, которая зависит от MooTools v1.11, и я собираюсь перейти на версию 1.2.Поскольку это довольно серьезная переработка, я подумывал о переходе на jQuery.

У кого-нибудь есть совет, стоит ли обновляться до jQuery или просто придерживаться MooTools?

В основном я использую MooTools для Ajax, перетаскивания и некоторых незначительных эффектов.

Это было полезно?

Решение

Если вы все равно обновляете , возможно, стоит посмотреть.

jQuery, похоже, уже на пути к тому, чтобы стать библиотекой One True Javascript (учитывая, что MS и другие решили ее использовать), так что если это код, над которым вы собираетесь работать некоторое время, то, вероятно, это хороший идея переключиться в какой-то момент (хотя бы потому, что будет больше мест, где можно получить помощь и код плагина, так как очень вероятно, что он будет оставаться популярным какое-то время, что поможет обеспечить долгосрочную гибкость и удобство сопровождения вашего кода) , Итак, учитывая, что вам все равно придется конвертировать, сейчас самое подходящее время для этого.

Я думаю, что jQuery, ставший фреймворком для использования, - это хорошо. Это не было бы моим выбором (мне тоже нравится MooTools), но это, безусловно, отличный кусок кода, который определенно соответствует цели, по крайней мере, с компетенцией своего конкурента. Я рад видеть любую согласованность, и в какой-то момент я перенесу свой код в jQuery.

Другие советы

Если это не сломано. Не исправляйте это.

jQuery может иметь X или Y, но если все зависит от MooTools, вам может потребоваться много работы для преобразования из MooTools.

Сохраняйте MooTools, если вы широко использовали его на своем сайте. Однако, если у вас есть только 2-3 страницы с незначительными эффектами ... изменение может стоить.

Зачем переключаться? Я конвертировал кодовые базы с 1.11 до 1.2, и это довольно быстро и легко (и я использую его не только для нескольких эффектов).

jQuery может быть принят MS, согласно одному сайту, он работает лучше в IE - но дело не в том, насколько хорошо он работает с IE, а в том, насколько хорошо он работает для вашего сайта (является ли IE основным игроком на вашем сайте? ?).

Ты знаешь jQuery? Если вы этого не сделаете, то вам придется переписать код с нуля, и вы будете полностью переписывать его.

Или вы просто пытаетесь найти причины, чтобы сказать своему менеджеру, что " мы должны сделать это в jQuery " потому что ты хочешь научиться этому?

Что касается "единой истинной основы" - это нелепое утверждение, которое делают только пользователи, а не разработчики.

Переход с MooTools 1.1.1 на 1.2.1 не так уж и сложен. http://github.com/mootools / MooTools-ядро / вики / конверсионных из-1-11-к-1-2

Существует даже слой совместимости, который делает функцию кода MooTools 1.1.1 в 1.2.x. Возможно, вам придется вручную исправить некоторые вещи здесь и там, но это относительно незначительно.

Переключение на jQuery, или YUI, или DOJO, или что-либо еще потребовало бы полного выброса всего кода, который у вас есть, и указания. Ни один мой клиент никогда не допустит такого рода отходы.

Кроме того, если вы привыкли к кодированию с использованием надлежащих классов MooTools, тогда jQuery может стать огромным шоком для вашей системы. Дело не в том, что jQuery заставляет вас писать нечитаемый и не поддерживаемый код, конечно, можно писать очень читаемый и поддерживаемый код на любом языке. Но в jQuery нет встроенной системы классов, которая могла бы вам помочь.

Особенно с большой базой кода, важно, чтобы ваш код был хорошо организован.

Я довольно предвзят, конечно.

Об этом есть сайт, описывающий различия в философии jqueryvsmootools.com

Я думаю, это то, к чему все сводится в конце. Функциональный DOM-ориентированный подход или объектно-ориентированный подход JavaScript.

Как уже отмечали другие, jQuery - это библиотека (в основном для работы с DOM), Mootools (1.2) - это полноценная инфраструктура javascript, которая позволяет вам организовать ваш код в объектно-ориентированном виде и, таким образом, поддерживать его простоту в обслуживании. .

Я рекомендую вам прочитать это, чтобы действительно знать, что каждый из них на самом деле (jqueryvsmootools.com)

И эта другая ссылка, так что вы знаете, как получить лучшее из обоих миров;):

http://ryanflorence.com/object- ориентированный JQuery-с-Mootools свинок-принять полет /

В итоге все сводится к тому, что вам нужно. Моя общая рекомендация: если вам нужно взять несколько быстрых отрывков и представить свое веб-приложение, хорошо использовать jQuery; если вы собираетесь сосредоточить свои разработки на javascript, вам стоит попробовать mootools: код будет масштабироваться, и вам лучше быть готовым.

Чтобы обновить код с Mootools 1.1, вы можете использовать помощник по обновлению, он поможет вам определить конфликтующий код с помощью консоли javascript (mootools.net/blog/2009/12/31/mootools-1-1-upgrade слойной-бета /)

[Извините за публикацию только 1 активной ссылки, это мой первый ответ]

Это зависит от того, насколько хорошо вы знаете jQuery и какой у вас срок. Если вы хорошо это знаете, это займет меньше строк кода, что означает меньшую пропускную способность для ваших клиентов.

Также, если вы посмотрите на На этом сайте вы можете видеть, что в ведущем браузере IE производительность jQuery выше, чем в Mootools.

При этом, если все работает в Mootools v1.11, зачем вообще обновлять скрипты? Как говорит предыдущий плакат, если он не сломан ...

Если он не работает должным образом в Mootools v1.11, как вы узнаете, что он будет работать в Mootools v1.2 или даже в jQuery? Было бы стыдно тратить кучу времени на разработку и либо иметь одни и те же ошибки, либо вводить новые ошибки из-за используемой платформы.

На этом этапе Slickspeed становится совершенно неважным, селекторы все равно слишком быстрые.Также, чтобы вы знали, Sly от Herald Kirschner, члена команды разработчиков Mootools, только что выпустил Sly, механизм выбора, который превосходит Sizzle.То, что анимация является определяющим фактором для НЕ выбора mootools, оставленное на одном из плакатов, было в основном задом наперед, Mootools уже много лет является королем анимации.Что бы вы ни выбрали, все будет работать.Mootools имеет более классический вид, который, как мне кажется, помогает мне быть организованным, jQuery больше основан на функциях и не так уж много внимания уделяет классам.Один дополняет собственные типы, а другой нет, другая стратегия, но это все.

  • Дэниел

Я вполне доволен Mootools. Я несколько раз испытывал соблазн попробовать jQuery, потому что все больше и больше людей используют его в наши дни, но почему-то у меня все еще нет такой замечательной функции OO, как у Mootools. Еще одна вещь, которая мне не очень нравится в jQuery - это получение идентификатора с помощью функции доллара путем добавления хеш-ключа (#). Это может быть проблематично, если вы хотите создавать html-идентификаторы с использованием фреймворка. Если бы я был вами, просто обновите Mootools до последней версии. Mootools совсем не плохая библиотека.

В своем вопросе вы упомянули, что вы используете MooTools для " Ajax, перетаскивания и некоторых незначительных эффектов " ;. Хотя Mootools могут делать это хорошо (и я могу быть обижен, что сказал это), на мой взгляд, вы не используете Mootools по правильной причине. Мы используем Mootools в наших приложениях, и на самом деле мы не можем думать о его замене на JQuery. Если целью является написание объектно-ориентированного, долговременного обслуживаемого кода, который могут использовать другие приложения в вашей организации, Mootools победит.

И просто скорость селектора - это неправильный критерий, по которому я могу судить (хотя я считаю, что Mootools сейчас там). В большинстве мест в нашем коде у нас уже есть ссылки на элементы, которые мы хотим изменить. Большая часть времени тратится на фактическое манипулирование DOM, как только у вас есть элемент, и в наших внутренних тестах (постараемся их опубликовать) Mootools намного быстрее, чем JQuery, в обычном виде операций, которые мы выполняем. В наших приложениях мы используем ранее созданные элементы управления Mootools (созданные нами или другими пользователями) для создания экранов приложений с использованием данных, поступающих из веб-служб.

Оцените, есть ли у вас часы программиста, чтобы выполнить перебор.
    Это будет означать, что вы собираетесь переписать код с нуля. Это снова подразумевает, что вам придется пройти через цикл функциональности, проверки и тестирования, исправления ошибок и т. Д. При этом одной из самых важных проблем, которые программисты не настолько компетентны в JavaScript, является то, что большинство частей кода обращаются к элементам DOM имеют тенденцию создавать утечки памяти (что является основной причиной для большинства веб-разработчиков). jQuery от природы делает много, чтобы смягчить это. Вернее, jQuery убирает JavaScript из JavaScript.
    Второй. Одна из наиболее веских причин для перехода на jquery заключается в том, что вес вашего кода JavaScript значительно снизится. Это имеет смысл для страницы, интенсивно использующей код на стороне клиента. Краткая природа jquery позволит вам легко просматривать код.
    Компания, с которой я работаю (support.com), имела тонны кода Mootools. В начале 2008 года (после жарких часов дискуссий, за которые я был против перехода на jQuery), мы начали поэтапно переходить на jQuery. Я не сожалел о дате.

Этот аргумент скучен, Mootools - это O-O, поэтому люди, создающие правильный O-O фон, ценят его интеллект больше, чем люди из PHP4 или HTML.

Единственная веская причина, по которой я мог бы привести такую ​​миграцию, заключалась бы в том, что переход уменьшит объем кода, который вам придется поддерживать, и/или упростит задачу.Обычно такое переключение требует большого объема работы, поэтому после завершения всей работы вам захочется иметь возможность вернуться и сказать: «Да, оно того стоило».

Вы должны сделать этот выбор в зависимости от цели вашего приложения.

jQuery удивительно хорош для анимации, однако я считаю, что Mootools более сложный, поэтому, если важно, чтобы приложение, а не анимация, придерживалось Mootools

Скорость также является предметом обсуждения. На сегодняшний день Mootools имеет чуть более медленную производительность, но я не буду обращать на это внимание, пока не выйдет Mootools 1.3.

Оцените производительность последних фреймворков на http://slicktest.perrohunter.com

JQuery - это меньшая кодовая база с более широкой поддержкой. Если это соответствует вашим потребностям, это может быть хорошим переключателем. Я бы сказал, что компромисс, с которым вам нужно решить, состоит в том, стоят ли усилия по переходу и кривой обучения усилий по сравнению с более широким набором функций, меньшим размером кода, популярностью и поддержкой JQuery.

Если изменение между версиями MooTools действительно настолько велико, миграция вполне может быть оправдана.

В статье, на которую ссылается сайт jqueryvsmootools, это очень красиво сказано:

  

Если jQuery делает DOM вашей игровой площадкой, MooTools стремится сделать JavaScript вашей игровой площадкой

Итак, вместе с ответом здесь "Если он не сломался, не исправляйте его", я бы сказал, что он отвечает вашим потребностям, а не общественному мнению.

Учитывая, что ваш сайт уже находится в Mootools, вам необходимо оценить, предлагает ли jQuery то, что вам нужно, а MooTools не предлагает; и меньше ли беспокойство по поводу преобразования, чем беспокойство по написанию расширения.

Кажется, что jQuery имеет возможность быстро позволить вам поиграть с DOM, но для всех дополнительных модных вещей и других областей работы (например, дат) требуется плагин.

Это помогло мне ответить и на мой собственный вопрос!

В некоторых областях они не перекрываются, что очень жаль. Графический интерфейс легко собрать в jQuery с прекрасными виджетами и анимацией. Я считаю, что у MooTools либо наборы со слишком малым количеством функций, либо они слишком тяжелы для общего использования в Интернете.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top