13.04.2011, 11:44
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Напиши по пунктам, чем ты пользуешься в jQuery (селекторы, ajax, ...), обсудим
|
|
13.04.2011, 12:18
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
а что обсуждать? ну вот тут, например, слева список категорий. Не пользовался Deferred Object, Plugins, Internals
|
|
13.04.2011, 12:39
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
а что обсуждать?
|
Ну вот я, например, ярый сторонник принципов АНБ. Т.е. выборка только по классу или по id, даже без каскадов. Всё, половину jQuery как сваркой срезало
Ещё одна большая часть -- ajax. Вообще ajax, вопреки расхожему мнению, штука кроссбраузерная, просто неудобная. Поэтому для промышленного использования нужны всё те же 5-10 строк на чистом JS, чтобы запросы к серверу делать было удобно. А все функции в jQuery для того, чтобы Вася Пупкин, не понимающий, как работают браузеры, как они общаются с сервером, и как вообще работает HTTP, мог "делать сайты на аяксе". Непонятно, зачем это в больших проектах, разработчики которых априори должны быть профессиональней того Васи Пупкина.
Ну анимация выше была.
Есть ещё одна обширная, достаточно сложная штука, реализованная в jQuery -- взятие значений CSS-свойств. Эта штука не нужна в принципе, т.к. если вам это понадобилось, значит у вас очень хреново спроектировано приложение.
Так и получается, что ради нескольких необходимых функций, подключается 200 кб кода, да ещё и навязывается неудобная концепция "нет DOM-элементов, есть коллекции".
P.S. Дада, разумеется это всё моё личное мнение И касается оно исключительно крупных проектов. Хомпаги без разницы на чём делать.
|
|
13.04.2011, 13:12
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
и тут выяснилось, что мы про большие проекты говорим... ну яндексу jquery да, ни к чему
а вообще да, jquery такой, в частности, чтобы работало в кривых руках и на кривых проектах. Но это помогает и с нормальными проектами. Например, нужно меньше знать, чтобы что-то делать. И вместо того, чтобы разбираться с каким-то очередным багом, можно выполнять поставленную задачу
а как ты, кстати, определяешь координаты элемента?
Сообщение от Kolyaj
|
Есть ещё одна обширная, достаточно сложная штука, реализованная в jQuery -- взятие значений CSS-свойств. Эта штука не нужна в принципе, т.к. если вам это понадобилось, значит у вас очень хреново спроектировано приложение.
|
а можно подробнее? О каких проблемах речь и как правильно спроектировать приложение?
Сообщение от Kolyaj
|
Так и получается, что ради нескольких необходимых функций, подключается 200 кб кода, да ещё и навязывается неудобная концепция "нет DOM-элементов, есть коллекции".
|
не забываем, что в сжатом виде оно занимает 30КБ. И концепция не неудобная, а непривычная для тебя
p.s. если подключение библиотеки в 30КБ не позволяет проект либо религиозные убеждения, то да, ничего не поделаешь
p.p.s. http://en.wikipedia.org/wiki/Not_Invented_Here
|
|
13.04.2011, 14:10
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
и тут выяснилось, что мы про большие проекты говорим...
|
Ну а чего про маленькие говорить? Там хоть как пиши, разница несущественна.
Сообщение от x-yuri
|
а как ты, кстати, определяешь координаты элемента?
|
getBoundingClientRect. А есть другие способы?
Сообщение от x-yuri
|
а можно подробнее? О каких проблемах речь и как правильно спроектировать приложение?
|
Везде много пишут про MVC, разделение логики и представления, а сами не гнушаются данные хранить в представлении (в стилях). При том, что это крайне ненадёжное хранилище.
Сообщение от x-yuri
|
не забываем, что в сжатом виде оно занимает 30КБ
|
А где для тебя проходит граница "ну не, столько мы подключать не будем"?
Сообщение от x-yuri
|
И концепция не неудобная, а непривычная для тебя
|
Она чужда языку. Вот если бы в JS была концепция "всё массивы", тогда была бы гармония.
$('a').width() возвращала бы массив длин всех ссылок.
2 * $('a').width() + 2 * $('a').height() -- массив периметров всех ссылок.
А так пришлось вводить идеологический хак: .width() возвращает ширину первого элемента в коллекции.
Ну и, пожалуй, половина объёма библиотеки -- жертва этой концепции.
Если бы Resig обращал внимание на подобное, jQuery бы не было.
|
|
13.04.2011, 18:55
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Ну а чего про маленькие говорить? Там хоть как пиши, разница несущественна.
|
а что со средними тогда? И большие - это хайлоад или не важно?
Сообщение от Kolyaj
|
Везде много пишут про MVC, разделение логики и представления, а сами не гнушаются данные хранить в представлении (в стилях). При том, что это крайне ненадёжное хранилище.
|
в css? Можешь конкретнее?
Сообщение от Kolyaj
|
А где для тебя проходит граница "ну не, столько мы подключать не будем"?
|
есть другая граница "не, ну это мы зря подключили"
Сообщение от Kolyaj
|
Она чужда языку. Вот если бы в JS была концепция "всё массивы", тогда была бы гармония.
|
не очень красиво, согласен. Но если отставить в сторону эстетический вопрос, то получается не важно
Сообщение от Kolyaj
|
Ну и, пожалуй, половина объёма библиотеки -- жертва этой концепции.
|
да ладно, что заставляет тебя так думать?
|
|
13.04.2011, 20:42
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
а что со средними тогда?
|
Ну тут тоже трудно черту провести.
Сообщение от x-yuri
|
И большие - это хайлоад или не важно?
|
А какая JavaScript-у разница?
Сообщение от x-yuri
|
в css? Можешь конкретнее?
|
Множество тем на форуме про как достать display, color и прочую хрень, установленную в CSS. Случаи, когда в одном месте устанавливаем элементу стиль, а в другом (а то и в этом же) его читаем.
Сообщение от x-yuri
|
да ладно, что заставляет тебя так думать?
|
Тут я погорячился.
|
|
13.04.2011, 22:00
|
|
|
|
Регистрация: 27.12.2008
Сообщений: 4,201
|
|
Сообщение от Kolyaj
|
Ну тут тоже трудно черту провести.
|
вот и я говорю, что для большинства проектов jquery - это не плохо К тому же мне кажется, что больше проблем создают желание напихать всего побольше и неумение пользоваться библиотекой, чем ее размер
Сообщение от Kolyaj
|
А какая JavaScript-у разница?
|
в общем-то да
|
|
14.04.2011, 01:22
|
|
Рассеянный профессор
|
|
Регистрация: 06.04.2009
Сообщений: 2,379
|
|
Сообщение от Kolyaj
|
взятие значений CSS-свойств. Эта штука не нужна в принципе, т.к. если вам это понадобилось, значит у вас очень хреново спроектировано приложение
|
это про getComputedStyle ? А чем он плох?
|
|
14.04.2011, 11:52
|
Новичок на форуме
|
|
Регистрация: 19.02.2008
Сообщений: 9,177
|
|
Сообщение от x-yuri
|
для большинства проектов jquery - это не плохо
|
Я не исключаю, что есть хороший подход и к jQuery, просто я его не знаю. Концепция плагинов для постоянно развивающихся приложений (даже небольших, важно постоянное развитие) не подходит.
Сообщение от Riim
|
это про getComputedStyle ? А чем он плох?
|
Давайте с другой стороны: а зачем вы его используете?
|
|
|
|