Подтвердить что ты не робот

Должен ли я конвертировать из MooTools в jQuery?

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

У кого-нибудь есть советы по обновлению jQuery или просто к использованию MooTools?

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

4b9b3361

Ответ 1

Если вы все равно обновляете, тогда это может быть интересно изучить.

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

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

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

Ответ 4

Переключение с MooTools 1.1.1 на 1.2.1 не является чем-то большим. http://github.com/mootools/mootools-core/wikis/conversion-from-1-11-to-1-2

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

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

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

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

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

Ответ 5

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

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

Ответ 6

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

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

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

http://ryanflorence.com/object-oriented-jquery-with-mootools-pigs-take-flight/

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

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

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

Ответ 7

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

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

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

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

Ответ 8

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

  • Даниэль

Ответ 9

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

Ответ 10

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

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

Ответ 11

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

Ответ 12

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

Ответ 13

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

Ответ 14

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

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

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

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

Ответ 15

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

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

Ответ 16

В статье, опубликованной на веб-сайте jqueryvsmootools, сказано:

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

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

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

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

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

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