Странно, что представлен такой небольшой процент использующих ExtJs. Конечно она предназначена скорее для веб приложений, чем для простых сайтов, но всё равно. Может быть, дело в жёсткой для комерческого применения GPL.
Пользуюсь уже около года jQuery. До этого писал исключительно на чистом яваскрипте, правда и писать приходилось тогда не много =)
Некоторые отписались что пользуются прототайпом только потому что он включен в рельсы. Наш рельсодевелопер (пока он у нас один =)) некоторое врмя назад был не очень силен в яваскрипте, и несколько раз обратился ко мне за помощью в реализации некоторых фишек. Я был не в курсе о комплектации рельсов (сам пишу в основном на похапэ), и сходу предложил ему jQuery, решив его задачи в течение пары минут при помощи него. Уж не знаю как и что он сделал, но теперь он пользуется только им =)
Имхо проект слишком редко обновляется. Тот же самый функционал можно реализовать используя prototype+script.aculo.us или же jquery и при этом будет гораздо производительнее и компактнее. Сам с xajax перешел на jquery.
В основном использую jQuery+jQuery UI(уж очень он мне нравится:). Не очень хорошо конечно в плане совместимости(к примеру WP к которому я делал плагин юзал jQuery 1.1, а плагину нужно было 1.2), но тем не менее меня он устраивает.
Временами попадаются проекты реализованные на чистом prototype и script.aculo.us. Пришлось отвыкнуть от jQuery и делать на них. Приплюсовываю к первому каменту.
Это немного другое... Тогда была "война" между "сишниками" и "ассемблеровцами", не о каких надстройках речи не шло, это два разных языка. Надстроек полно и для PHP, но опять же использую только чистый.
Высокоуровневые абстракции (коими в первую очередь должны являться фреймворки) могут помочь не только с преодолением рутины, но и, в (возможно) равной степени, с отупением.
Однако, грешить на то, что что-то там "жрет много памяти" - сегодня не самый убедительный аргумент - сегодня человекочасы стоят дороже, чем железо. Поэтому, фреймворк при правильном использовании (устранение рутины), вполне себе хорошая вещь.
Но все же жаль, что сегодня можно услышать фразы, подобные: "я выучил JS по jQuery" =) В резюме многие пишут, что знают JS, а на деле выясняется, что это Prototype.js =) И ладно бы - первостепенная цель - преодоление рутины, так нет же - еще могут начать доказывать, что в нынешней реализации JS есть классы (ибо Class.create()) =)
Все это демагогия, конечно, но высокоуровневые абстракции всегда нужны. В сущности, сам JavaScript, относительно других языков, уже ого-го какая абстракция (того же асма, который тут приводился - ведь смешно же бы звуало: "а что ты на ассемблере сайты не пишешь?". В то время, как мы используем абстракицю "alert(...)" и нам, собственно, плевать, как она внутри написана. Тоже самое и с фреймворками).
Это я к тому, что при использовании фреймворка, если вы программист, а не кодер, обязательно нужно знать сам язык.
Чем нравятся фреймворки (для себя выбрал MooTools) - это то, что не приходится думать о разной реализации в разных браузерах.
Вы как, например, получаете координаты мыши? Для IE и неIE свой код? В MooTools передаётся параметр в событие, в любом браузере они берутся одинаково - event.page.x/y.
Да-да. Конечно основная задача надстроек - это мультибраузерность.
У меня просто есть свои наработки в этом направлении, только и всего. Чужое использовать нелюблю. Однако если учесть что Google Maps сделаны через jQuery, наверно в этом что-то есть.
Я вообще php-программист, но приходится писать на яваскрипте иногда. Если сам, то пишу на jQuery (выбрал его потому что ... хз).
Сейчас разбираюсь с php-фрэймворком adept. В нём встроен prototype. Но на нём мне писать не приходится, адепт всё сам делает )
framework подгружается всего один раз, а потом берётся уже из кэша.
Jquery 1.2.6 - всего 16kb, зато потом это резко сокращает js-код, который бы вы написали на чистом js.
пару слов в защиту mootools
1. при включенном gzip на сервере 70 кб мутулзных библиотек превращаются в 20-30
2. для joomla, наверное, не очень актуально, но при скачивании с оф. сайта для mootools можно указать, какие компоненты включить в сборку, а какие нет. Чтоб получить функциональность 16кб-тного jquery, думаю, потребуется сборка примерно такого же размера.
писал долгое время на чистом js, сталкивался частенько с различными frameworks, чаще всего с prototype...
в какой то момент решил познакомится поближе с frameworkами, и взгляд упал почему то на jquery, с того момента пишу только с использованием его, разработка скриптов начала приносить реальное удовольствие, чистый красивый и легкий код, вообщем дкмаю меня не что не сможет заставить слезть с него! =)
Голосую, за jquery, так как им пользуюсь больше всего. ИМХО плагин с необходимым функционалом под него найти легче всего (если сравнивать с Prototype и MooTools, остальные как-то не доводилось использовать)
А если бы еще ссылки на эти фреймворки в посте были (для особо ленивых). ))
Пишу сейчас свой, но исключительно из-за специфики задачи — создаю картографический API сродни Google Maps.
Вообще думаю, что хороший JS-программист должен уметь использовать любой фреймворк. Приходилось активно пользоваться всеми из списка, кроме Mochikit и Rico. А нравится больше других Mootools.
А какой JavaScript Framework используете вы? Опрос среди JS-разработчиков.