Re[9]: jQuery – Javascript нового поколения
От: Zeroglif  
Дата: 10.08.07 13:46
Оценка: -1
Здравствуйте, Mamut, Вы писали:

Z>>Пример с алертом был утрирован СПЕЦИАЛЬНО!


M>И именно поэтому он некорректен. ПОтому что это — синтетический пример, который ничего не доказывает.


M>Я привел тебе гораздо более реальный пример, который ты благополучно проигнорировал.

M>Тултип в 36КБ против jQuery + тултип в 29.7КБ

M>Или тот же пример с $('a.ajax')...


M>Эти примеры ты активно игнорируешь, хотя они показывают, что код ручками проигрывает коду, основанному на jQuery.


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

Z>> Чтобы продемонстрировать избыточность кода задаче. Очень похожие утрированные примеры (подвесить клик на якорь или добавить класс и т.п.) используются в большинстве туториалов. Общий посыл при этом — смотрите и учитесь, как просто и легко можно это сделать по сравнению с чистым javascript. Хотя на самом деле (вообще не понимаю, как можно об этом ещё и спорить) отдельная задача и даже несколько связанных задач решаются руками проще/оптимальнее/качественнее, чем с использованием большого избыточного (априори всегда избыточного) пакета. Тем более чужого. Тем более javascript-пакета. Тем более в исходники которого, как оказалось, никто и не смотрит.


M>Если хочешь, я напишу статью "Advanced uses of jQuery". Хотя она никому нафиг не сдалась, потому что через два дня после работы с jQuery люди сами начинают писать код любой сложности. Да в туториалах можно найти полезную инорамцию, идущую дальше, чем простые примеры (например, My First ExtJS DataGrid).


Хочу, полный разбор исходников, узкие места, сравнение всего кода со всем кодом, а не передёргивание с вызовами. Может тогда меньше по javascript тусовкам будет бродить привидений, который задают вопросы вроде, "а что это за синтаксис такой $(), а то не могу его в доках найти".

M>А насчет отдельных задач...


M>Задача 1. У меня на странице есть ссылки с классом .ajax. Необходимо сделать так, чтобы при щелчке на эти ссылки аяксом подгружалась страница, находящаяся по адресу в href соответствующей ссылки, а содержимое той страницы загружалось в элемент с id="ajax_result" (например, нечто похожее реализовано в этом тултипе и у меня на странице).


M>Показываю в последний раз :

M>
M><a href="/test1.html" class="ajax">Ссылка 1</a>
M><a href="/test2.html" class="ajax">Ссылка 2</a>
M>

M>
M>// У меня на странице есть ссылки с классом .ajax
M>$("a.ajax")
M>    .click(           // Необходимо сделать так, чтобы при щелчке на эти ссылки
M>        function(){    
M>            $.get(     // аяксом подгружалась страница
M>                $(this).attr("href"), //находящаяся по адресу в href соответствующей ссылки
M>                callback
M>            )
M>        }
M>    );

M>function callback(result){
M>    $("#ajax_result").append(result); // а содержимое той страницы загружалось в элемент с id="ajax_result"
M>}
M>


M>Задача 2. Изменить задачу 1 так, чтобы тоже самое работало для всех ссылок в элементе с id="other":


M>
M><div id="other">
M>    <a href="/test1.html">Ссылка 1</a>
M>    <a href="/test2.html">Ссылка 2</a>
M></div>
M>

M>
M>$("#other a")... // остальной код такой же
M>


M>Ваш ход. Можно использовать "чистый" JS или самописные фреймворки.


Хожу:

f();


Z>>Но если количество и объём многомерных задач таковы, что мы уже подходим к раскрытию возможностей jQuery по-максимому, то фреймворк можно (заметьте, я не выступаю против, я говорю, что можно) использовать, на то он и большой пакет.


M>Просто таки гигантский пакет. Целых 20КБ кода


Во-первых 60 скопейками, а не 20, но это модная манера такая сжатый код презентовать. И 20 много, если тебе нужно только то, что укладывается в 2-4-5-10...

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


M>Почему считается, что оптимальная точка — это, например, умение написать кроссбраузерный аякс, а не, например, taconite на основе уже готового и кроссбраузерного аякса и готовой кроссбраузерной выборки по селекторам? Я лучше напишу taconite, чем в очередной раз заново писать низкоуровневый код.


Z>>Почему так происходит? Само собой, ни один из нас не признается в своей слабой подготовке или в нехватке времени, или в нехватке браузеров, или в недостатке кросс-браузерного опыта, или в ещё в чём, не знаю


M>Я, по-моему, уже не раз говорил, что наша задача — это не разрабатывать свой собственный javascript-фреймворк, а разрабатывать продукт.


Я с кем разговариваю? Ты менеджер, владелец, программист или всё вместе? Выдави из себя javascript-программиста и поговорим. А иначе я начинаю путаться в маркетологических смыслах.

M>Яркий пример. Wordpress с версии 2.2 используют jQuery. Почему они не написали свой собственный фреймворк? Потому что их задача — выпустить оптимальный кросс-браузерный форумный пакет, а не разрабатывать велосипеды. У них есть задачи поважнее и поинтереснее, чем бороться с браузерами и тестировать Javascript на двух десятках платформ. Им проблем с кросс-браузерным CSS хватает.


Опять про бизнес, теперь Wordpress-ный.

D>>>А потом еще копипайстить из одного проекта в другой — если снова заходите использовать...


Z>>Эти доводы я принимаю и не принимаю одновременно, согласитесь, что всё зависит от ситуации. Компании "A", построившей все свои проекты на базе JSLibrary №13 ваши jsQuery-наработки даром не нужны. Но, замечу, всегда будет нужен ваш опыт в отрыве от любой либы...


M>Отучаемся говорить за всех. Мне известно много случаев, когда компания "А" с радостью переходила на грамотный фреймворк, потому что избавлялась от кучи геморроя и головной боли.


Отучаемся передёргивать карты, я говорю не за всех, а о том, что всё зависит от ситуации. То есть говорю про то же, что и ты.

D>>>Странные посты против фрейворков вообще, вы вот и на сервер-сайд наверное никаких фреймворков не используете, сами GET/POST валидируете и популируете, постинг каждой формы по новой все этапы реализуете, различные утилитные функции, велосипеды изобретаете на каждом шагу наверное...


Z>>Это посты не против либ как таковых вообще, пользуйтесь, если нравится, а посты против того, что кто-то имеет смелость сравнивать javascript vs. jQuery или javascript-программирование vs. псевдо-программирование.


M>Что тако псевдо-программирование?


M>Например, taconite — это псевдо-программирование? Или, скажем, Interface. Или, скажем, Ext?


Псевдопрограммирование в смысле javascript — это то, что описывает твоя статья, это управление самодельным неоптимальным избыточным нетобойсделанным АРI от джона/пети/димы с отсутствующим прошлым и неясным будущим...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.