Июнь 5, 2008

Выбор AJAX-фреймворка для построения RIA-приложений

Сейчас в Ideco Software (компания, которая делает продвинутый корпоративный интернет-шлюз) мы начинаем делать одну классную штуку на базе AJAX. Это будет настоящее Rich Internet Application (увы, не знаю русский аналог термина). Подробности пока умалчиваю, ибо коммерческая тайна – да и не в них суть.

А суть в том, что сейчас я поделюсь выводами о без малого десятке полноценных AJAX-библиотек общего назначения, которые могут претендовать на роль серьезного фундамента для создания RIA-приложений.

Полный список фреймворков общего назначения можной найти здесь: http://ajaxpatterns.org/Javascript_Multipurpose_Frameworks. Я просмотрел все заслуживающие внимания и отобрал восемь библиотек, которые удовлетворяли следующим условиям:

- Достаточная зрелость самой библиотеки
- Полный комплект основных UI-виджетов (trees, grids, dialogs, windows, etc.)
- Наличие хорошей документации, сэмплов и группы поддержки
- Удобство кодирования с точки зрения программиста
- Четкая лицензионная политика

В итоге появилась следующая табличка с плюсами и минусами отобранных вариантов (поверьте на слово, что остальные не стоят и вашего внимания). Я всегда считал, что более-менее ориентируюсь в ситуации, но признаюсь честно – из этого списка знал только 2-3 фреймворка, остальные буквально “открыл” для себя.

———- ExtJS [ http://www.extjs.com ] ———-

Плюсы:

- Широко распространена
- Огромный набор качественных виджетов
- Можно собрать под себя (чтобы уменьшить объем загружаемого кода)
- Есть примеры серьезных приложений [ Jama Contour - http://www.jamasoftware.com ]
- Лицензия на разработчика, стоимость менее $300

Минусы:

- «Закос» под интерфейс Windows Vista (это также и плюс)

———- Backbase [ http://www.backbase.com ] ———-

Плюсы:

- Широкий набор виджетов
- Заточено под Enterprise, есть много мощных средств работы с данными

Минусы

- Программирование через некий аналог XML-файлов (не приветствуется среди программистов)
- Жуткая стоимость (взято из статьи 2006 года – AJAX Client Edition от $6,000 за CPU; AJAX JSF and AJAX Struts от $8,000 за CPU)

———- QooXDoo [ http://qooxdoo.org ] ———-

Плюсы:

- Распространяется по лицензии LGPL
- Качественные и легкие виджеты
- Внешний вид виджетов более спокойный и похожий на веб, чем у ExtJS
- Есть таблицы с авто-сортировкой столбцов, они плоские (похожи на веб)
- Система классов, удобный для программиста код (установка свойств в коде через вызовы методов)

Минусы

- НЕ НАШЕЛ !!!

———- Yahoo UI [ http://developer.yahoo.com/yui/ ] ———-

Плюсы:

- BSD license
- Огромный объем документации, примеров, база пользователей и групп
- Красивый и удобный код

Минусы

- Коллекция виджетов меньше, чем у продвинутых конкурентов
- Внешний вид виджетов несколько примитивный и устаревший

———- Bindows [ http://www.bindows.net ] ———-

Плюсы:

- Матерый фреймворк, много примеров серьезных приложений

Минусы

- Требует приобретения как лицензии разработчика ($195), так и дополнительно оплаты от $199 в год за один процессор – и это для МАССОВЫХ приложений (и также зависит от количества пользователей приложения)

———- TIBCO [ http://www.tibco.com/devnet/gi/ ] ———-

Плюсы:

- Open Source
- Солидный фреймворк для крупных предприятий

Минусы

- Громоздкий устаревший интерфейс
- Логика на JavaScript, но конфигурирование на XML – неудобно для программиста

———- SmartClient [ http://www.smartclient.com ] ———-

Плюсы:

- Матерый фреймворк, опыт использования в серьезных организациях
- Большой набор виджетов
- Хорошая поддержка Enterprise-технологий, таких как Java-сервера

Минусы

- Специфичный интерфейс, выглядит устаревшим
- При разработке массовых приложений нужно платить от $1950 за лицензию на девелопера

———- ActiveWidgets [ http://www.activewidgets.com ] ———-

Плюсы:

- Виджеты один в один как в Windows XP

Минусы

- Похоже их не уж так много
- Видимо, библиотека почти не развивается и не имеет большой базы пользователей
- Стоимость одной лицензии на разработчика $495

P.S: Буду очень благодарен людям, которые прокомментируют на основе собственного опыта использования тех или иных библиотек. Где-то я мог быть неточен или совсем неправ.

P.P.S: Чуть позже поделюсь, что мы выбрали для себя и почему.


Похожие записи

Новая социалка для рунетчиков?
Google Chrome. Yet Another Browser?
Халявные книжки от nigma.ru
Текущий стиль веб-дизайна
Интересные ссылки по стартапам




Комментарии [6] - на пост “Интересные ссылки по стартапам”

  1. sidewinder

    Интересная тема в комментариях к “10 правил для интернет-стартапов” – три варианта перевода всего одного слова – и совсем разный смысл нескольких “правил”. Лучше читать в оригинале.

  2. Антон

    Конец найму.
    http://www.perevedem.ru/article/hiring_is_obsolete_full.htm

  3. Дмитрий

    Здравствуйте))
    какой фреймворк в итоге выбрали?
    Мне нужно разработать файл менеджер похожий на проводник в windows . Может посоветуете какой лучше использовать для данной задачи.

  4. Марина

    Где же продолжение статьи

  5. Aleksey Fedotov

    Сам использую QooXDoo. Минус всё-таки есть – недостаточно актуальная и не совсем удобная документация

  6. Count Raven Amiant

    Ну, тут еще можно сказать пару слов по поводу внешнего вида.
    Вот вы говорите, что ExtJS похож на Windows Vista, а Qooxdoo больше на веб.
    Это очень неточно, потому что и первый и второй поддерживают темы и можно сделать хоть абсолютно космический интерфейс, хоть интерфейс, похожий на Windows 3.11.
    Внешний вид полностью меняется и очень даже легко.

Ваше мнение?