Сравнение ajax-фреймворков

advertisement
Сравнение UI-фреймворков
Open Source
Лицензирование (licensing)
Платная поддержка (commercial
support)
Текущая версия (current version)
Кроссбраузерность
(cross-browser compatibility)
Встроенная ленивая загрузка JSмодулей на клиент
(built-in lazy-loaded JavaScript modules)
Тонкий клиент (thin client)
Толстый клиент (thick client)*
Набор встроенных
rich-компонентов
(rich components)
Интеграция Spring (Spring integration)
Возможность разработки только на Java
(pure-Java development)
Возможность создание шаблонов htmllike+css (html+css templates
development)
Официальная поддержка моб.
устройств (mobile devices development)
Wicke
t
GWT+Ext GWT
ICEFaces (JSF
based)
RichFaces (JSF
based)
ZK
Echo2(3)
Да
Двойное: GPLv3 +
Commercial
Да
Да
Mozilla Public
License
LGPL -2.1
Да
LGPL
Да
Mozilla Pu
License.
Да
Да
Да
Да
GWT 2.0,
ExtGWT 2.1.2
Да
1.8.2
3.3.3
5.0.1
Да
Да
Да
Начиная с версии
GWT 2.0
Нет
Нет
Да
Нет
Да
Да
Да
Нет
Да
Да
Нет
Да
Да
Нет
Да
Да
Да
Да
Встроенной нет, DI
при помощи Guice.
Возможна интеграция
сторонними
разработками
http://gwtwidget.sourceforge.net
/
Java + JS
Да.
JSF + Spring
интеграция
Да.
JSF + Spring
интеграция
Да
(http://www.zkoss.org/product/zkspring.dsp
)
Да
Да
Да
Нет
JS
Да
Нет
Facelets
Facelets
Есть
поддержка, но
нами не
Нет.
3.0 beta8
Да
Нет
Да (Java Phone, Android). Специальный
модуль ZK Mobile
Нет
использовалась
.
Движок для отрисовки (render engine)
HTML
JSP/Facelets
JSP/Facelets
HTML
HTML
Сложность создания своих компонентов
(new components development
complication)
Несложно. Возможно
как на pure java так и
java+javascript
На facelets
несложно.
На JSF можно сложность
зависит от
сложности
компонента.
На facelets
несложно.
На JSF можно
- сложность
зависит от
сложности
компонента.
Можно. Зависит от сложности компонент.
Можно
создавать
Сложност
оценить н
возможно
Дизайнер GUI (IDE for GUI development)
Существуют, как
плагины для IDE (нр: Eclipse). Различные
лицензии
Есть плагин
для Eclipse, но
нами не
использовалось
.
ZK Studio
EchoStudi
Поддержка Ajax
Язык разработки
Да
Java + JavScript
Да
Java
Exadel Studio
можно
использовать.
Но реально
никто не
пользуется
этим.
Да.
Java
Да
Да
Java, Javs
XUL/XHTML (ZUML)
Скрипты на:
Java (BeanShell)
JavaScript (Rhino)
Ruby (JRuby)
Groovy
Серверная платформа
Контейнер сервлетов
Имеющиеся стандартные GUI-элементы
(таблицы, кнопки, поля
редактирования, списки, диалоги и
т.п.). Необходимость реализации этих
элементов разработчиками приложения
Работа с базами данных
Есть
Сторонними
разработками:
http://gwt-
Контейнер
сервлетов
Есть.
Icefaces и есть
библиотека
компонент.
Контейнер
сервлетов
Есть
Richfaces и
есть
библиотека
компонент.
Servlet 2.3+ and JVM 1.4+
Нет
Нет
Нет
Большой набор стандартных
компонент(>80 XHTML)
Контейне
сервлетов
Да
Чего-то
специфич
о не нашл
Применение изменения настроек
приложения без перезагрузки
сервера/приложения/перекомпиляции
Объем загружаемого кода на клиента
Возможность частичной подгрузки кода
Контроллер страницы, на которой
расположены виджеты
Независимость работы каждого
виджета
widget.sourceforge.net
/ ; gylead
Нет
Нет
Нет
Да, только для элементов ZK (DSP
templates)
Нет
Не существенен —
первый раз грузятся
только ресурсы,
которые затем
кэшируются.
JSF генерирует
HTML, в
котором
создаются
специфическая
разметка –
больше чем
при обычном
подходе. Но не
критична.
Плюс может
хранить
состояние на
клиенте – тогда
размер
увеличится.
Ну и JS файлы
– но только
первый раз, а
далее
кэшируются.
Существенно не увеличивает.
Большой
С версии GWT 2.0
Нет
Нет
JSF
генерирует
HTML, в
котором
создаются
специфическа
я разметка –
больше чем
при обычном
подходе. Но
не критична.
Плюс может
хранить
состояние на
клиенте –
тогда размер
увеличится.
Ну и JS файлы
– но только
первый раз, а
далее
кэшируются.
Нет
Нет
Нет
Нет
* построение GUI в приложении происходит полностью на машине клиента (с использованием JavaScript)
Да
Download