MooTools и JQuery бок о бок

Я просто унаследовал некоторые веб-страницы, которые используют MooTools. Я никогда не использовал MooTools. Теперь мне нужно добавить некоторые функции на странице, интересно, полезно ли использовать jquery и mooTools на одной странице?

В принципе, у меня есть 3 варианта,

  • Преобразуйте страницы в JQuery, которые я должен изучить для MooTools.
  • Записать новые функции в MooTools. Я должен узнать еще больше MooTools, чтобы достичь этого.
  • Используйте оба на странице.

Ваше мнение будет оценено.

Ответ 1

Мнение: Изучите MooTools, а затем перейдите к нему. Звучит как отличная возможность узнать что-то новое. Зачем вводить совершенно новую библиотеку с добавлением js bloat, если вам это не нужно. Если это решит проблему, вы будете золотыми.

Ответ 2

MooTools - абсолютно солидная и приемлемая библиотека Javascript, и я бы рекомендовал вам добавить ее в список известных технологий, а не разорвать ее и заменить на JQuery. Смешивание двух не является хорошей идеей, так как вы, вероятно, столкнетесь с неясными трудностями для отладки конфликтов.

У JQuery была вся пресса в последнее время, но она ни в коем случае не вырезана и не высушена, что она бьет каждую другую библиотеку. Отнюдь не. Вы даже можете найти, что предпочитаете MooTools: -)

ДОБАВЛЕНО: для того, что стоит мой личный опыт, MooTools, похоже, играет рядом с другим кодом javascript более красиво, чем jQuery. Я обрабатывал несколько сайтов в последнее время, которые смешивались в MooTools с различными другими частями Javascript для различных эффектов/функциональности, и все это, казалось, играло вместе с минимальными проблемами. Страницы OTOH, использующие jQuery, как правило, используют версии jQuery всего. YMMV, конечно.

Ответ 3

Лично я бы не рекомендовал использовать оба варианта, поскольку есть странные конфликты, даже с jQuery.noConflict(). Пойдите с тем или другим.

Если вы в конечном итоге используете оба варианта, обязательно используйте jQuery.noConflict(), чтобы убедиться, что использование $ не конфликтует.

Использование jQuery с другими библиотеками

Ответ 4

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

однако, ваша кривая обучения из javascript или jquery из ванили не будет слишком крутой, особенно, если все, о чем вы заботитесь, это мантипуляция DOM, обработка событий и эффекты. вещи становятся более интересными, когда вы решаете писать/расширять классы mootools и участвовать в прототипировании - но вам, возможно, не придется это делать...

для большинства вещей есть несколько довольно хороших обучающих программ, а также некоторые демонстрации по работе с jQuery и mootools (эквивалентные). http://jqueryvsmootools.com/ является хорошим примером того, как одна и та же задача может быть выполнена через одну, я бы рекомендовал ее прочитать перед тем, как решить.

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

Ответ 5

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

Это сводится к сопоставлению затрат: как стоимость вашего бизнеса для преобразования их в jQuery по сравнению с затратами на бизнес для вас, чтобы узнать mooTools (и, возможно, одновременно сохранить как mootools, так и jquery в вашей голове).

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

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

Ответ 6

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

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

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

Ответ 7

Поскольку вам удобнее работать с jQuery, я просто позвоню jQuery.noConflict();, и напишу функции в jQuery. Это, конечно, если время является фактором.

Ответ 8

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

Я, конечно, думаю, что вы должны изучить Mootools, но это может помочь.

Ответ 9

Я согласен с теми, которые выступают за изучение учебников, но я думаю, что это даже лучше, если вы принимаете это решение, потому что, наконец, думаете, что обучение mootools стоит того.

Итак, я думаю, было бы неплохо провести некоторое исследование возможностей mootools.

Мне нравится эта артикуляция по этому вопросу. И я думаю, что это может быть полезно для тех, кто читает эту тему.

http://jqueryvsmootools.com/index.html

Ответ 10

Я написал сообщение в блоге о запуске 2 бок о бок.  http://chrisbarba.wordpress.com/2009/12/30/need-to-run-jq... s-side-by-side/

Мне не удалось заставить его работать на сайте SharePoint. Крис