Z>>>Пример с алертом был утрирован СПЕЦИАЛЬНО!
M>>И именно поэтому он некорректен. ПОтому что это — синтетический пример, который ничего не доказывает.
M>>Я привел тебе гораздо более реальный пример, который ты благополучно проигнорировал.
M>>Тултип в 36КБ против jQuery + тултип в 29.7КБ
M>>Или тот же пример с $('a.ajax')...
M>>Эти примеры ты активно игнорируешь, хотя они показывают, что код ручками проигрывает коду, основанному на jQuery.
Z>Я не игнорирую, я сознательно отказываюсь играть по вашим правилам и доказывать что-то, впрягаясь в программирование ради доказательства.
А почему мы должны играть по твоим правилам и упираться в приведенный
тобою пример. Нет уж. Ты попросил нас, мы сделали. Мы попросили тебя... И? Ни ответа ни привета. Спор ради спора.
Z>Пример с алертом некорректен в такой же степени, как и все те примитивные примеры, на базе которых показывается лже-простота пропагандистами, как и твой пример с раскраской строк, такой же не оптимальный и не требующий jQuery по большому счёту. Это и есть разговор о javascript и о программировании (который ты не увидел), разговор, на которой я настроился, а не на "про скорость разработки, зарплаты, бизнес и проч".
Блин. Что ты прикопался к этому примеру? Статья является введением в jQuery.
Существуют десятки, если не сотни, библиотек, позволяющих реализовывать такие вещи, как красочные графические эффекты и анимацию, перетягивание и сортировку предметов, общение с сервером без перезагрузки страницы и многое, многое другое. Большинство таких библиотек отличает некоторая монструозность и, зачастую, сложность в использовании. Особенно в сравнении с библиотекой, о которой пойдет речь в этой статье.
Или чукча не читатель?
Как видно из этого примера, библиотека jQuery позволяет находить простые и изящные решения для, казалось бы, сложных задач.
Или чукча опять не читатель? Чем твоя собственная библиотека хуже/лучше jQuery? Если она лучше, пожалуйста, приводи код, пиши статью. Здесь так и делают (например,
SObjectizerАвтор: Евгений Охотников
Дата: 30.12.05
одного из участников). Если нечего показать, а хочется опронента неаргументировано закидать какашками, то начинай свой топик в Священных Войнах...
Еще раз повторю. jQuery — это фреймворк. Библиотека. Она включает в себя функции для легкого и быстрого манипулирования DOM'ом, AJAX'ом и т.п. По сравнению с кодом на чистом (без библиотек) JS она позволяет писать более грамотный и понятный код, облегчая жизнь программисту. Таково свойство всех фреймворков — облегчать жизнь программисту, скрывая низкоуровневую работу. Если есть проблемы с пониманием того, что такое фреймворк или библиотека — то это не ко мне, это в гугл.
Z>>> Чтобы продемонстрировать избыточность кода задаче. Очень похожие утрированные примеры (подвесить клик на якорь или добавить класс и т.п.) используются в большинстве туториалов.
Ты понимаешь, что такое туториал? Или ты хочешь, чтобы тебе в туториале сказали: вот тебе
Десептикон, он работает, разбирайся сам. Цель любого туториала — дать представление о библиотеке.
Z>>> Общий посыл при этом — смотрите и учитесь, как просто и легко можно это сделать по сравнению с чистым javascript. Хотя на самом деле (вообще не понимаю, как можно об этом ещё и спорить) отдельная задача и даже несколько связанных задач решаются руками проще/оптимальнее/качественнее, чем с использованием большого избыточного (априори всегда избыточного) пакета. Тем более чужого. Тем более javascript-пакета. Тем более в исходники которого, как оказалось, никто и не смотрит.
M>>Если хочешь, я напишу статью "Advanced uses of jQuery". Хотя она никому нафиг не сдалась, потому что через два дня после работы с jQuery люди сами начинают писать код любой сложности. Да в туториалах можно найти полезную инорамцию, идущую дальше, чем простые примеры (например, My First ExtJS DataGrid).
Z>Хочу, полный разбор исходников, узкие места,
Значит ты думаешь, что статья "Advanced jQuery" будет востребована. Так сразу и скажи. А то требуешь от 10-страничного введения в библиотеку полного разбора по косточкам. Почему тебя не коробит, например, что
CSS Tutorial "пропагандирует" CSS, но при этом не дает разбора всех связанных с CSS проблем?
Z>сравнение всего кода со всем кодом, а не передёргивание с вызовами.
Иди кури поняти "библиотека". Библиотека/фреймворк предназначены для того, чтобы облегчить написание кода. поэтому я имею полное прав написать:
Раньше вы писали так:
100 строчек кода
А с этой библиотекой вы будете писать так:
10 строчек кода
Z>Может тогда меньше по javascript тусовкам будет бродить привидений, который задают вопросы вроде, "а что это за синтаксис такой $(), а то не могу его в доках найти".
"а что это за синтаксис такой $(), а то не могу его в доках найти" — это клиника, их и доки по JS не спасут.
M>>А насчет отдельных задач...
M>>Задача 1. У меня на странице есть ссылки с классом .ajax. Необходимо сделать так, чтобы при щелчке на эти ссылки аяксом подгружалась страница, находящаяся по адресу в href соответствующей ссылки, а содержимое той страницы загружалось в элемент с id="ajax_result" (например, нечто похожее реализовано в этом тултипе и у меня на странице).
M>>Задача 2. Изменить задачу 1 так, чтобы тоже самое работало для всех ссылок в элементе с id="other":
M>>Ваш ход. Можно использовать "чистый" JS или самописные фреймворки.
Z>Хожу:
Z>Z>f();
Z>
Не катит. Я привел конкретный пример с использование конкретной библиотеки, который можно пощупать и протестировать в любом браузере. Твой ответ можно охарактеризовать только как "слив защитан"
Z>>>Но если количество и объём многомерных задач таковы, что мы уже подходим к раскрытию возможностей jQuery по-максимому, то фреймворк можно (заметьте, я не выступаю против, я говорю, что можно) использовать, на то он и большой пакет.
M>>Просто таки гигантский пакет. Целых 20КБ кода
Z>Во-первых 60 скопейками, а не 20, но это модная манера такая сжатый код презентовать. И 20 много, если тебе нужно только то, что укладывается в 2-4-5-10...
Опять неаргументировано. Я уже приводил достаточно сложный код и предлагал сравнить его с jQuery. Ответа я так и не дождался. Вперед. Задачи я описал. Давай, реши их в 2-10 строчек кода. Я не шучу, кстати. Я привык аргументировать свои высказывания и ожидаю от оппонента того же. Задача 1. И задача 2. Они элементарны.
Z>>>Почему так происходит? Само собой, ни один из нас не признается в своей слабой подготовке или в нехватке времени, или в нехватке браузеров, или в недостатке кросс-браузерного опыта, или в ещё в чём, не знаю
M>>Я, по-моему, уже не раз говорил, что наша задача — это не разрабатывать свой собственный javascript-фреймворк, а разрабатывать продукт.
Z>Я с кем разговариваю? Ты менеджер, владелец, программист или всё вместе? Выдави из себя javascript-программиста и поговорим. А иначе я начинаю путаться в маркетологических смыслах.
Я программист. Я знаю, что мне нужно сдать проект к сроку. Эти сроки не подразумевают под собой разработку/отладку/тестирование собственного javascript-фреймворка.
У меня есть, например, таск:
- Есть список price patterns (правила изменения цен)
— Есть список отелей
— Есть список агентств и групп агентств
Надо:
Выбрать отель/отели, агентство/агентства, start date — end date
Нажать на manual apply
Для каждого отеля выпадает список комнат в периоды, пересекающиеся с start date — end date
Для каждой отдельной комнаты я должен мочь задать один из существующих паттернов или создать на лету свой собственный паттерн в модальном диалоге
С jQuery (+ Taconite + jqModal) у меня это заняло пару дней. Плюс пару дней на тестирование. Допустим, неделя.
Если бы у меня не было jQuery? Этот таск бы растянулся на месяц. Потому что надо же еще свой фреймворк написать... Да еще оттестировать...
Хорошо. Выделю из себя только javascript-программиста. Моя реакция на jQuery? "Ура, не надо больше низкоуровневый код писать! Давай-ка я сосредоточусь на более веселых вещах. Напишу ка я себе супер-навороченную админку." jQuery — это инструмент. причем очень эффективный инструмент.
M>>Яркий пример. Wordpress с версии 2.2 используют jQuery. Почему они не написали свой собственный фреймворк? Потому что их задача — выпустить оптимальный кросс-браузерный форумный пакет, а не разрабатывать велосипеды. У них есть задачи поважнее и поинтереснее, чем бороться с браузерами и тестировать Javascript на двух десятках платформ. Им проблем с кросс-браузерным CSS хватает.
Z>Опять про бизнес, теперь Wordpress-ный.
Пойми, что разработка ПО — это всегда бизнес (за очень редким исключением).
Предположим, у меня собственная контора программистов. Выделить n килобаксов на разработку собственного js-фреймворка или лучше их сэкономить?
Предположим, я работаю на кого-то. Мне никогда в жизни не дадут тратить время на изобретение собственных велосипедов (если контора вменяемая), потому что есть такая вещь, как дедлайны и сроки. Велосипеды обычно приводят к переносу этих сроков на более позднее время и потерю клиентуры.
Предположим, у меня (изначально)некоммерческий проект типа digg. Ключевое слово — time to market. Мне надо законченный продукт выпустить как можно быстрей, потому что хорошие идеи кто-то рано или поздно реализует.
и .т.п
D>>>>А потом еще копипайстить из одного проекта в другой — если снова заходите использовать...
Z>>>Эти доводы я принимаю и не принимаю одновременно, согласитесь, что всё зависит от ситуации. Компании "A", построившей все свои проекты на базе JSLibrary №13 ваши jsQuery-наработки даром не нужны. Но, замечу, всегда будет нужен ваш опыт в отрыве от любой либы...
M>>Отучаемся говорить за всех. Мне известно много случаев, когда компания "А" с радостью переходила на грамотный фреймворк, потому что избавлялась от кучи геморроя и головной боли.
Z>Отучаемся передёргивать карты, я говорю не за всех, а о том, что всё зависит от ситуации. То есть говорю про то же, что и ты.
Вот это называется говорить за всех:
Компании "A", построившей все свои проекты на базе JSLibrary №13 ваши jsQuery-наработки даром не нужны.
Я же сказал, что мне известно много случаев, когда...
M>>Что тако псевдо-программирование?
M>>Например, taconite — это псевдо-программирование? Или, скажем, Interface. Или, скажем, Ext?
Z>Псевдопрограммирование в смысле javascript — это то, что описывает твоя статья,
Моя статья является введением в библиотеку. Что ты хотел от введения?
Сейчас люди, которых я "подсадил" на jQuery проектирют сложные UI на яваскрипте и благодарят меня чуть ли не каждый день за то, что я избавил их от геморроя.
Z>это управление самодельным
Практически любой фреймворк в начале является самодельным. Ты же не боишься свой самодельный фреймворк использовать? И твои коллеги по работе не боятся использовать твой фреймворк? Чем jQuery отличается?
Z>неоптимальным
доказательства? только не на синтетических примерах типа alert() У меня есть более грамотные тесты: например,
замеры скорости. Поверь, что 10-165 миллисекунд — это очень быстро.
Z>избыточным
определи избыточность.
Z>нетобойсделанным
и что, что он не мной сделан? ты в курсе, что любая из программ, которой ты пользуешься на компьютере, сделана с использованием компонентов, которые делала не фирма-производитель?
если кто-то что-то сделал за меня, то я воспользуюсь результатами его работы. у меня есть задачи по-важнее, чем реализовывать все абсолютно с нуля.
Z>АРI от джона/пети/димы
Да от кого угодно.
Z>с отсутствующим прошлым
Библиотеке больше года. В вебе — это вечность. Скажу по секрету, что было время, когда у любого программного продукта не было прошлого
Z>и неясным будущим...
Будущее более, чем ясное:
http://docs.jquery.com/JQuery_1.2_Roadmap