Сравнение 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) Да