Ext библиотека отличается тремя параметрами от остальных js-библиотек:
- Широкой функциональностью.
Если раньше prototype, jquery , scriptaculous, mootools создавали элементарные объекты для облегчения работы с низкими уровнями DOM и создания анимационных эффектов, то ext нацелен на более сложный интерфейс. - Громадным объемом.
Для многих разработчиков, пытающихся оптимизировать скорость загрузки страницы очень важен размер каждого файла, поэтому даже от prototype часто отказываются в пользу mootools. Полный пакет Ext весит 454 кб. Если выбирать только нужные модули, то можно уложиться и в 120кб (версия 1.1 бета). - Обширной но мало понятной документацией.
Извечная проблема ООП библиотек - попытка описать всю функциональность даже если и удаётся то вызывает скорей вопросы чем ответы. Возможно это вызвано и поддержкой prototype/jquery/yui библиотек как "низкого уровня".
Лицензия на использование Ext в коммерческих целях стоит от 200$ на разработчика и не мудрено, учитывая что создатель перешёл из разработки интерфейсов Yahoo.
Дерево
Самым отличительным я нахожу элемент дерево Ext.tree.TreePanel которое умеет при помощи Ext.tree.TreeLoader подгружать через ajax структуру дерева через JSON и позволяет drag-and-drop для элементов, вкупе с контекстным меню. Сам я сделал аналогичное меню, и это действительно не из лёгких задач.
Каждый элемент дерева это объект класса Ext.tree.TreeNode, поэтому через FireBug можно увидеть в JSON параметры id, text, leaf, depth... Увы это пожалуй единственный способ (reverse engineering) что-бы представить себе как происходит взаимодействие данных, поскольку более понятного описания структуры дерева нет. Впрочем всегда есть форум и русский extjs ..
Поняв что даже чуть лучшая функциональность не может перевесить недостатки интеграции и скорости, я даже не стал пробовать другие компоненты. Впрочем как показывает screencast и demos, их хватает:
- grid предоставляет возможности листинга данных через ajax с сортировкой, фильтрами, мгновенным изменением значений.
- dialogs заменяют обычные alert, popup, confirm окна на более приятные виды с затуманиванием фона.
- layouts напоминают фреймы и интерфейс outlook/dreamweaver, где ненужные панели можно спрятать.