Несколько лет назад я работал над проектом с использованием Prototype и Scriptaculous. Заказчик был готов внести изменения (несколько) в наш дизайн пользовательского интерфейса, поэтому мы попробовали JQuery, YUI и наконец остановились на ExtJS. В другом крупном проекте мы использовали Dojo. И совсем недавно мы убедили крупный государственный клиент переключиться (средний поток) с Prototype на ExtJS.
В то время YUI казался мечтой: красивые виджеты, четко определенная иерархия классов, хорошая документация и быстрое создание приложения. Когда Yahoo! выпустил новую версию, которая не была обратно совместимой, я никогда не использовал YUI снова.
Я полагаю, что Dojo хорош для людей, которые любят JSP. Элементы управления вплетены в HTML и обрабатываются «движком Dojo» на клиенте для создания виджетов JavaScript. Документация была ужасной (и часто недоступной). Расширение предоставлено декларативным АОП - действительно круто!
JQuery великолепен - удивительно разработан и интересен в использовании. Я все еще использую JQuery "под" ExtJS.
Однако я назначаю ExtJS королем. Эта структура - искусство; Удивительно продуманная иерархия классов, объектно-ориентированный дизайн (без абстракции), богатый набор утилит низкого уровня, межбраузерная поддержка, очень хорошая документация (доступна для скачивания), включение проверенных шаблонов проектирования (например, Template, Observer) и набор виджетов пользовательского интерфейса, которые складываются в любой. Мне больше всего нравится в ExtJS то, что он делает меня лучшим дизайнером пользовательского интерфейса. Я не художник графики, но я могу быстро и легко создавать очень привлекательные веб-приложения (пусть и не художественные). Если вы используете только один фреймворк, используйте ExtJS.
Но зачем использовать только один? Смотрите dateJS и flot.