Немного про ExtJS

Надо сказать, что я не использовал ExtJS около полутора лет. За это время сменился мажорный номер версии (на 3) и у библиотеки добавилось приятных возможностей, которые упрощают жизнь. Самым значительным изменением для меня стала доступность Ext.data.Writer, который сильно облегчает задачу сохранения данных. Вообще заметно, что библиотека становится все более зрелой и фишко-насыщенной. Но, одновременно со всем этим, у нее остались теже проблемы, которые меня всегда в ней немного раздражали. При всей ее зрелости, любой шаг вправо-влево от того, что предлагает библиотека все так же карается расстрелом, багами и жестокими оверрайтами, которые потом вылезают боком. Я, конечно, соглашусь с теми, кто скажет, что я просто не умею ее готовить и с любой библиотекой так получается. Но весь прикол как раз в том, что для того, чтобы эффективно писать на ExtJS, надо с ней жить =) Т.е. тратить значительное строить и строить на ней приложения, запоминать хлипкие куски и знакомые паттерны багов и так далее. А что-то не хочется. А теперь немного речей от моего внутреннего героя Стэна, который в очередной раз многое понял.

Про архитектуру приложений на ExtJS написано уже достаточно много (раз, два на вскидку), я ничего добавлять не буду. Для собирающих модулей я предпочитаю, так называемый Revealing Module Pattern, который является продолжением идей Yahoo про Module Pattern, но по структуре мне нравится больше. А так все тоже, создаем свои компоненты, наследуя из от экстовских и оживляем их =)

Когда используешь какие-то плагины, оверрайты и прочие модификации ExtJS, лучше всего документировать это подробно. Т.е. элементарно составить список плагинов, которые используются в проекте и иногда послеживать за ними. Особенно, когда вы замечаете какое-то ненормальное поведение.

Довольно часто сталкиваешься с тем, что обновив ExtJS что-то перестает работать. В первую очередь, надо следить за тем, что вы обновили плагины, которые входят в поставку ExtJS (например RowEditor). Затем надо проследить, что все внешние плагины обновлены. Если ничего не помогло, то стоит отправится на форум. Часто там уже вовсю обсуждают, как починить вашу проблему =), потому что она не только ваша. Ну и потом уже можно вооружаться FireBug и писать на форум.

Вот список самых интересных плагинов, с которыми я работал в этот раз:
Ext.ux.form.DateTime — позволяет выбирать дату и время, а не просто дату.
Ext.ux.form.GroupingCombobox — позволяет использовать группировку значений, как обычный <optgroup>.
Ext.ux.form.XCheckbox — в отличие от обычного чекбокса, всегда отправляет значение, вне зависимости от того, отмечен он или нет.
Ext.ux.grid.CheckColumn — позволяет делать колонку из чекбоксов
Ext.ux.grid.ItemDeleter — добавляет колонку по нажатию на ячейки которой можно удалять строки
Ext.ux.grid.RowEditor — из официальной поставки, удобно редактировать строки в гриде
Ext.ux.gird.Search — старый-старый плагин, который позволяет осуществлять поиск по разным колонкам грида
Ext.ux.PanelCollapsedTitle — плагин, который добавляет заголовки на свернутые панели BorderLayout (причем и для IE, и для остальных вменяемых браузеров)
Ext.ux.grid.Filter — семейство фильтров, который вешаются в меню колонки и позволяют не загромождать тулбар всякими поисковыми формами

Реклама

Один ответ to “Немного про ExtJS”

  1. Artur Says:

    отличный список! спасибо! )

Обсуждение закрыто.


%d такие блоггеры, как: