Переписать jQuery на старый добрый JavaScript - стоит ли повышение производительности? - PullRequest
4 голосов
/ 15 марта 2011

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

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

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

Редактировать: Спасибо, ребята, ценная информация.Цель состояла не в том, чтобы «заново изобрести колесо» - это было просто для опыта и личного совершенствования.То, что что-то существует, не означает, что вы не должны исследовать это более подробно, знать, как это работает или пытаться воссоздать это.Это та же самая причина, по которой я редко использую фреймворки. Я бы предпочел использовать свой собственный код, сгладить его и получить огромный опыт в этом, чем начинать с использования чужого кода, независимо от того, насколько он сглажен.В любом случае, я не буду этим заниматься, спасибо, что сэкономили мне силы:)

Ответы [ 4 ]

7 голосов
/ 15 марта 2011

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

Вы также говорите, что старый добрый JS - "действительно не сложный язык" - это не главная проблема. Сложно освоить не JS, а то, что компенсирует jQuery, но все особенности браузера.

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

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

4 голосов
/ 15 марта 2011

номер

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

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

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

  • Код более высокого уровня означает более быструю разработку, но и более быструю поддержку в будущем. Найти и исправить ошибку в высокоуровневом коде проще.
  • Код jQuery будет обновляться командой , когда будут обнаружены новые проблемы или появятся новые браузеры. Вам придется продублировать все эти изменения в вашем собственном коде.
  • Если вы столкнетесь с ошибкой в ​​своем собственном коде, вы будете самостоятельно . Если вы сталкиваетесь с трудностями при работе со скриптами jQuery, вам может помочь огромная база пользователей.
  • И не заводите меня на все плагины , которые существуют. Что если завтра ваш клиент захочет, чтобы вы добавили виджет X на ваш сайт, а у вас нет jQuery? Вы тоже будете изобретать этот плагин?
4 голосов
/ 15 марта 2011

Не беспокойся.

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

Зачем изобретать велосипед?

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

3 голосов
/ 15 марта 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...