я перемещусь от прототипа до jQuery?

Наконец я чувствовал, что jQuery медленно становится defacto стандартом в библиотеках JS (я мог бы быть неправым!), или по крайней мере который более активен, чем остальная часть платформ.

Например, я искал прекрасный календарь с открытым исходным кодом как Componente и нашел http://fullcalendar.vinsol.com/, который основан на jQuery.

Мы использовали Прототип для очень небольших вещей, как его селекторные возможности ($ функционируйте как ярлык для document.getElementById, главным образом), выполняя некоторую часть JS, когда страница загружается и издавать некоторые очень простые приказы Ajax.

Таким образом, я предполагаю, что миграция должна быть довольно прямой, но я хотел бы знать профессионалов / недостатки миграции от Прототипа до jQuery.

С другой стороны, я предполагаю, что наличие их обоих вместе не является хорошим выбором, особенно принимая во внимание, что миграция должна быть довольно простой.Я прав?

Править: некоторые полезные ресурсы:

8
задан Community 23 May 2017 в 12:30
поделиться

8 ответов

Prototype и JQuery охватывают очень похожие области. Я использовал Prototype в качестве основного JS Framework в течение многих лет профессиональной деятельности, и сейчас я перехожу на JQuery. Вот почему:

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

  • JQuery кажется более популярным, не только на Stack Overflow. Что означает, что получить поддержку намного проще, а количество доступных плагинов и готового кода намного больше. Для меня это не главная причина, но вместе с общим впечатлением, что jQuery - более технически грамотная платформа, выбор стал очевиден.

Единственное, что мне не нравится:

  • код JQuery имеет тенденцию выглядеть ужасно. Мне нравится JQuery и его философия очень сильно, но я часто ненавижу смотреть на код. Если кто-нибудь придумает диалект JQuery, который будет выглядеть так же красиво и структурированно, как обычный ванильный JavaScript, я с радостью приму участие. :)

По поводу комментариев: Дополнительное разъяснение того, что мне не нравится в стиле кодирования jQuery.

Одним словом: скобки. Тысячи и тысячи их :)

Серьезно. Я понимаю, что многое из того, что считается "стилем jQuery" - это сокращения и ярлыки, которые можно использовать по своему усмотрению. Тем не менее, с точки зрения читабельности и сопровождаемости кода, я нахожу большие куски кода jQuery гораздо более трудными для чтения и понимания. Да, это станет намного проще с ростом опыта работы с jQuery, но я хочу, чтобы мой код был читабельным даже для совершенно постороннего человека. В этом отношении jQuery движется не в том направлении, IMO. Большая часть кода просто уродлива. Это мое единственное серьезное замечание к этому замечательному фреймворку на сегодняшний день.

Цепочки методов, @noah, и такие вещи, как новая .delay() или как она там называлась, я считаю совершенно замечательными. Я не говорю ничего против этого.

9
ответ дан 5 December 2019 в 06:09
поделиться

Насколько я знаю, Prototype и jQuery в основном совпадают, за исключением того, что jQuery фокусируется в основном на манипуляции DOM, ajax, событиях и т.д., и не имеет некоторых возможностей, которые есть у Prototype, таких как классы, наследование и т.д. Однако, если вам не нужны эти вещи, а нужен только фреймворк для кроссбраузерного манипулирования DOM, ajax, событий и т.д., то я думаю, что jQuery - это то, что вам нужно.

6
ответ дан 5 December 2019 в 06:09
поделиться

Вы можете использовать их оба вместе. Просто вызовите jQuery.noConflict (); после загрузки jQuery. Тогда вам нужно будет написать jQuery («что угодно») вместо $ («что угодно») . Prototype предлагает множество функций, которых нет в jQuery.

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

Underscore.js предлагает большую часть тех же функций, что и Prototype, но при этом не вмешивается в прототипы объектов и глобальное пространство имен. Underscore плюс jQuery должны упростить переход с Prototype.

4
ответ дан 5 December 2019 в 06:09
поделиться

Я использую Prototype с 2006 года и разделяю чувства Пекки по поводу уродливого кода. Прототип более элегантен.

Я был стойким сторонником сообщества Prototype (+ Scriptaculous), но, к сожалению, Prototype теряет долю внимания и долю на рынке. Карьера может быть построена на знании jQuery, а не только на знании Prototype.

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

При этом мой переход на jQuery не был таким уж болезненным. Функциональность почти такая же, только с разными названиями. Доступно гораздо больше документации и примеров кода, что упрощает освоение.

Каркасы - это движущиеся цели, иногда превосходящие друг друга по скорости и характеристикам. Все продолжают улучшаться. Утверждение, что X лучше, чем Y, со временем изменится

Я думаю, что спасительная благодать Prototype может быть Scripty2 . Это потрясающий новый движок анимации, использующий Prototype. Если это завоюет популярность (и выйдет на рынок, даже не в бета-версии), интерес к Prototype может возродиться. Помимо этого, я думаю, что у него всегда будут сторонники, но он исчезнет из мейнстрима.

2
ответ дан 5 December 2019 в 06:09
поделиться

Я думаю, что тот факт, что Microsoft интегрировала его в ASP.NET Ajax Framework , говорит о jQuery. Мой нынешний работодатель стандартизировал его в прошлом году, и я могу найти больше объявлений о вакансиях, в которых конкретно просят jQuery и любую другую библиотеку.

0
ответ дан 5 December 2019 в 06:09
поделиться

Чтобы ответить прямо на ваши вопросы: Да, вам следует переключиться. И да, вы правы.

Я знаю, вы сказали, что не любите скобки ... не могли бы вы предоставить фрагмент кода прототипа, который вы считаете красивым (я использую jQuery-itize для сравнения)?

4
ответ дан 5 December 2019 в 06:09
поделиться

Думаю, стоит. Я неукоснительно использую jquery, и я не Javascript Pro. Я думаю, что простота использования - одна из самых сильных сторон этого инструмента.

0
ответ дан 5 December 2019 в 06:09
поделиться

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

2
ответ дан 5 December 2019 в 06:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: