Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   Почему мне не нравится JQuery (https://javascript.ru/forum/library-toolkit-framework/18412-pochemu-mne-ne-nravitsya-jquery.html)

mycoding 29.06.2011 17:36

Почему мне не нравится JQuery
 
Написал небольшую статью.
"Почему мне не нравится JQuery"
Мне бы хотелось услышать мнению Community.
Заранее уверен, что со мной не согласится 98%, но я прав.

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

http://javascript.ru/node/11391

Kolyaj 29.06.2011 17:49

В статье нет объективизма, одни эмоции.

Цитата:

1 - Используется знак $ - не все фанаты доллара.
facepalm.jpg Не используйте $.


Цитата:

2 - Все исходники, которые встречал очень запутаны и трудно понять, что в коде происходит.
Причём тут jQuery?


Цитата:

3 - Применяется метод цепочного вызова любой длины.
Не применяйте такой метод.


Цитата:

4 - JQuery был хорош для 2006 года, когда его только сделали. Сейчас же это старье, которое невозможно исправить. Надо полностью переписать стиль программирования для это framework-а.
Почему?


Цитата:

Кто сказал, что работать с id плохо, а с селекторами хорошо?
А кто сказал обратное?


Цитата:

7 - Насколько мне известно, при написании плагинов для JQuery код всего с 20-ью плагинами может вырасти до 1-ого мегабайта.
Ext сам по себе скоро мегабайт будет весить.


Цитата:

8 - Работа с JQuery не удобна. Стиль программирования очень не приятен.
Почему?


Цитата:

9 - В JQuery UI отвратительные плагины. Они не красивые и глючат. И не доработаны.
Чем отвратительны, где глючат, в чём недоработки?


Цитата:

10 - Многое из того, что мне надо нет в JQuery.
Чего именно?


Цитата:

11 - Если я буду писать свои проекты на JQuery, а не на ExtJS, то времени у меня уйдет минимум раза в 2 больше.
Это потому что вы знаете Ext, и не знаете jQuery.


Цитата:

12 - Попробуйте сделать на JQuery нормальную красивую форму обратной связи
с полным функционалом. Не выйдет. Не получится форма красивой, функционал всё равно будет не полным, а времени уйдет думаю дня три. На ExtJS я это сделаю на раз два.
С произвольным дизайном на Ext-е слабо?


Пока не будет ответов хотя бы на эти вопросы, никто вас всерьёз не воспримет.

Я тоже не использую jQuery :) Но Ext я больше тоже не использую.

mycoding 29.06.2011 17:57

Kolyaj,понял.
Я подумаю над ответами.

А на чем Вы делаете проекты?
На чистом js или на своём framework-e?

Kolyaj 29.06.2011 18:01

На чистом JS не делает никто. Слишком часто придётся писать одно и то же.

На своей библиотечке.

Gozar 29.06.2011 19:35

Цитата:

Кто сказал, что черный фон - это хорошо для глаз.
Я могу сказать что чёрный фон - это хорошо для глаз.

Белый фон хорошо - это стереотип. Нужно просто правильно подобрать под себя цвета. Я использую черный фон и если мне предложат перейти на белый или светлый, откажусь однозначно. Уже почти год сижу под черным. Глаза устают намного меньше. Поначалу казалось что все мрачное, теперь кажется что очень весёлое :)


Раман 01.07.2011 13:19

А я вот пишу свои проекты на чистом JS это тренирует логику во первых и легче биться за производительность если проект действительно большой.

tenshi 01.07.2011 13:44

..и сложнее биться с глюками, если проект действительно большой

Раман 01.07.2011 17:53

Цитата:

Сообщение от tenshi (Сообщение 111358)
..и сложнее биться с глюками, если проект действительно большой

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

trikadin 02.07.2011 00:20

Не нравится - не пользуйтесь. Мне не нравится - не пользуюсь. Не пишу статьи. Не выхожу на площадь, не кричу: "JQuery - гавно!". Всё просто. Не тратьте время на то, что вам не нравится.

Раман 03.07.2011 11:28

Цитата:

Сообщение от trikadin (Сообщение 111448)
Не нравится - не пользуйтесь. Мне не нравится - не пользуюсь. Не пишу статьи. Не выхожу на площадь, не кричу: "JQuery - гавно!". Всё просто. Не тратьте время на то, что вам не нравится.

В чем то ты прав, но как говорится в споре рождается истина.

kobezzza 15.07.2011 00:03

Цитата:

Заранее уверен, что со мной не согласится 98%, но я прав.
Самоуверенность вас погубит :D

Не смог почитать статью, но судя по комментам она субъективна. Чтобы не юзать $ в jquery есть методы noConflict и sub, и конечно моно обращаться как jQuery.

Стиль проганья зависит от вас, можно и не использовать цепочки (и кстати можно создавать экземпляры через new).

Какие селекторы использовать - тоже вам решать, jQuery тут не причём.

По поводу плагов соглашусь - в большинстве они не оч, но если прогер толковый, то ничего не мешает написать свой "правильный" и в итоге собрать свою коллекцию.

Скорость работы зависит от ваших знаний и это законно для ВСЕХ библиотек на ВСЕХ языках.

Я писал проекты на jQuery довольно большие (до 30-ти тысяч строк кода), при грамотной архитектуре всё удобно, красиво и не тормозит)

Sweet 15.07.2011 01:44

Цитата:

Сообщение от kobezzza
Не смог почитать статью, но судя по комментам она субъективна.

На все 100% субъективна. Как бе во всех моих бедах виноват мейнстрим.
Цитата:

Сообщение от kobezzza
не использовать цепочки

Вообще-то, "цепочки" - это в полной степени заслуга javascript.
function stringReverse(string){
  return string.split("")
               .reverse() // фуу!!! цепочки! :р
               .join("");
};

kobezzza 15.07.2011 01:55

Цитата:

Вообще-то, "цепочки" - это в полной степени заслуга javascript.
Мне лично "цепочки" оч нравятся, что я даже пишу такие классы на других языках, типо шарп и т.д. (например написал класс для OpenGL, типо там circle.moveTo(...).moveTo(...).moveTo(...) :))

Octane 15.07.2011 04:06

Черт не успел прочесть, видимо уже удалил статью :)

Цитата:

Сообщение от Gozar
Цитата:

Кто сказал, что черный фон - это хорошо для глаз.
Я могу сказать что чёрный фон - это хорошо для глаз.

Белый фон хорошо - это стереотип.

Просто у тебя хороший монитор/современные мониторы нормально с темными областями справляются. На каком-нибудь дешевеньком жк дисплее, с ламповой подсветкой, вокруг букв появляется свечение и размазня при скролинге. А еще из-за всяких модных технологий, типа RTA от Samsung, которая для достижения космических цифр контрастности, вырубает подсветку на темных кадрах, изображение начинает неприятно мерцать, опять же при скролинге или например при постоянно выпрыгивающем светлом меню автокомпклита.

ctpz 15.07.2011 15:00

Gozar, каким редактором пользуешься? Интересное оформление. Какие языки поддерживает?

Stimulus 04.09.2011 19:31

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

melky 04.09.2011 20:51

а я вот поменял свое отношение к jquery

это единственная библиотека, которая легко изучается.

tenshi 05.09.2011 07:31

а какие библиотеки ты уже изучил?

melky 05.09.2011 08:48

mootools, prototype.

DjDiablo 13.09.2011 19:29

Многие из заказчиков. Хотят к примеру на Yii и чтобы JQuery был.
Если бюджет хороший, тогда то на чём они хотят, то и хорошо )))
За небольшим исключениями конечно.

А вообще статья по виду. Я этим не пользуюсь поэтому это плохо.

tenshi 16.09.2011 20:39

ну по сравнению с прототайпом-то конечно х)

mihdan 15.01.2013 17:30

jQuery против ExtJS
 
Мой ответ - jQuery против ExtJS

tenshi 16.01.2013 12:03

mihdan, это годится как коментарий, но совершенно не годится как статья. где контекст? где объяснение что имел ввиду автор цитаты, почему он это имел и в чём был не прав? выдавать тезис и потом спрашивать в пустоту "что вы имели ввиду" - читателю это не нужно.

melky 16.01.2013 12:32

Цитата:

Сообщение от mihdan
Мой ответ - jQuery против ExtJS

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

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

Так же, при использовании opacity для IE (фильтры) jQuery ведёт себя монопольно - к примеру (только одно из последствий) при установку прозрачности в 1.0 она удаляет к чертям значение свойства filter. т.е. она плюёт на то, что вы там поустанавливали сами для элемента, она всё снесёт. (год назад так было. можно посмотреть, изменилось ли это эгоистичность сегодня)

И ещё один бесспорный камень в огород jQuery - она научилась подбирать префиксы к свойствам 10 месяцев назад. Ну вот как так ?!

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

Тот же исходный код MooTools быстрее и красивее на порядок, чем jQuery'вский аналог - к примеру, самая быстрая реализация функции camelCase ("z-index" -> "zIndex"), которую я смог найти, находится именно в MooTools.

Конечно, на текущих мощностях незаметно, какая из библиотек быстрее (визуально), и поэтому в дело вступает удобство пользования.

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

jQuery - вечные цепочечки и коллбеки.
MooTools - вечные классы и ФП'шный сахарок в виде расширения встроенных прототипов.

Лично мне ничего не нравится оттуда, но MooTools хотя бы предоставляет возможность программировать декларативно!

Deff 16.01.2013 12:54

:) Мне, к примеру не важно, как jQuery написана, говно или нет - основное - это удобство и распространненность. Доводить до кондиции - дела авторов. Критиковать jQuery, - удел страдиварщиков(творцов замено-подобного в своих проектах), но доступны эти замены каждому ?). Скрипачам(не Вивальди) главное чоб играла! Для написателей небольших проектов - имхо неплохо, любые другие библиотеки вряд ли получат более широкое распространение, тем паче на моём ресурсе сервиса бесплатных форумов jQuery стоит по умолчанию и нет доступа к движку.

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

Собственно для критиков, - выложите более удобное и более распространённое.

melky 16.01.2013 14:01

Цитата:

Сообщение от Deff
более удобное и более распространённое.

мне понравилась RightJS

близко пока не рассматривал (наверное, как рассмотрю, так и разонравится), но издалёка видно, что
  • здесь единственная реализация анимации на JavaScript, которая не тормозит на смартфоне
  • либа не навязывает стиль программирования - есть как функциональщина, так и привычное ООП.

kobezzza 16.01.2013 14:22

Согласен с Deff, если я юзаю фреймворк, то мне принципиально лишь удобство использование, документированность и "визуальная скорость".

Мне плевать как и когда она была написана, что другая библиотека на 10 наносекунд быстрее и т.д. пока выполняются мои требования.

Мне нравится подход квери к DOM (реально очень удобно), но не нравится их "философия плагинов". Мне нравится подход либ типа MooTools, Prototype и т.д., как создание стандартной библиотеки и ООП. Мне нравится подход Dojo и Closure при разбиение на модули. Мне нравится делать быстро админки на ExtJS :)

Deff 16.01.2013 14:25

melky,
Ну есть библы вкусные, но распространение их пока низко - это 1.
А значит доходчиво и убедительно авторитетно донести до масс её тяжело.
А разнобой в проектах, особенно одной конторы имхо хуже идентичного говнокода.

Deff 16.01.2013 14:27

Цитата:

Сообщение от kobezzza
Мне нравится подход квери к DOM (реально очень удобно),

+
Всё таки ждём и надеемся на сближения нативного JS. Посколь мысли такие проскакивают и действия тоже.

melky 16.01.2013 14:53

Цитата:

Сообщение от Deff
А разнобой в проектах, особенно одной конторы имхо хуже идентичного говнокода.

не дай Боже писать на нескольких похожих библиотеках в одном проекте :)

DjDiablo 16.01.2013 15:37

Цитата:

не нравится их "философия плагинов"
+
моё имхо,
инфраструктура плагинов говно, даже у jquery ui она говно.
справндливости ради замечу что есть классные идеи в jquerymobile

но как библиотекой jquery доволен :)


Часовой пояс GMT +3, время: 13:25.