Я искал библиотеки для внедрения в java-проект функционала с поддержкой ajax и попытался сделать сравнительное описание.
возможно, кому-то будет интересно.
Основной упор был сделан на то, что проект изначально был написан с использованием Struts. Может формат не очень подходит, но какой есть.
мнение субъективно.
JSF (лица Java-сервера)
Совместимо со Struts? | НЕТ |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | ДА |
Связь | java.sun.com/javaee/javaserverfaces/ajax/index.jsp |
Главная цель
Улучшите разработку веб-приложений и упростите создание «тяжелых» приложений с помощью обширного пользовательского интерфейса.
Требуется тяжелое кодирование JS?
Нет, если вы используете стандартные компоненты и реализации (есть реализации, которые изначально поддерживают ajax).
Преимущества
Унифицирует процесс создания компонентов; Упрощает повторное использование компонентов; Четко определенный процесс разработки; Интегрирован в инструменты визуальной разработки.
Недостатки
Требует обучения и рефакторинга веб-слоя;Риск
Приложения, реализованные на Struts, требуют переделки веб-слоя;Комментарии
JSF — современное решение для сложных веб-приложений.Компонентно-ориентированный.
JSF содержит собственный процесс разработки (цикл), который помогает четко определить роли разработчиков в проекте.
Существует несколько сред визуальной разработки (IDEA, NetBeans, Sun Java Studio Creator 2), которые помогают создавать приложения с использованием JSF.
Додзё
Совместимо со Струтсом? | Да (не зависит от серверной части) |
Серверная часть? | НЕТ |
Ориентирована на компонентную модель? | НЕТ |
Каков будет эффект от использования решения? | JS-функциональность |
Связь | dojotoolkit.org/demos |
Главная цель
Общий код JS, упрощает добавление виджетов.
Требуется тяжелое кодирование JS?
ДАПреимущества
Не влияет на серверную частьНедостатки
Требуется дополнительное кодирование для вызова бизнес-методов со стороны клиента.
Комментарии
Похоже, он больше ориентирован на дизайн (внешний вид/анимацию).
jMaki
Совместимо со Струтсом? | ДА |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | ДА |
Связь | ajax.dev.java.net/jmaki-screenshots.html |
Главная цель
Агрегирует компоненты, написанные с использованием различных библиотек; интегрирует их в среду j2eeТребуется тяжелое кодирование JS?
ДАПреимущества
Унифицирует процесс создания компонентовНедостатки
Требуется дополнительное кодирование для вызова бизнес-методов со стороны клиента.
Комментарии
Библиотека позволяет интегрировать существующие компоненты.
Веб-инструментарий Google
Совместимо со Struts? | НЕТ |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | ДА |
Связь | code.google.com/webtoolkit |
Главная цель
Позволяет реализовывать веб-приложения так, как если бы это было решение на основе Swing;Требуется тяжелое кодирование JS?
НЕТ (серьезно, вообще не нужно писать js-код!)Преимущества
Позволяет реализовывать веб-приложения так, как если бы это было решение на основе Swing; Легко отлаживатьНедостатки
Преобразует страницы в нередактируемый кодРиск
Сложно изменить внешний дизайн страниц; Несовместимо со Struts;Комментарии
Интересное решение, позволяющее реализовать компоненты и бизнес-логику полностью на Java, без js.ДВР
Совместимо со Струтсом? | ДА |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | НЕТ |
Связь | getahead.org/dwr |
Главная цель
Позволяет вызывать бизнес-методы из клиента.
На основе JS RPC.
Требуется тяжелое кодирование JS?
ДАПреимущества
Бизнес-методы легко вызывать со стороны клиента; Легко использоватьКомментарии
DWR — это RPC (удаленный вызов процедур, например, RMI).Он реализует только то, что от него требуется — упрощает обмен сообщениями между клиентом и сервером.
AjaxTags
Совместимо со Struts? | ДА |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | Нет, решение основано на тегах JSP, которые изначально не поддерживают модель разработки компонентов, однако решение довольно элегантное и хорошо интегрируется в JSP. |
Каков будет эффект от использования решения? | Подход к разработке UI-компонентов |
Связь | ajaxtags.sourceforge.net |
Главная цель
Позволяет реализовать решения с поддержкой ajax в приложении на основе JSP.Требуется тяжелое кодирование JS?
НЕ СОВСЕМ.Основная цель библиотеки — уменьшить объём JS-кода.
Однако на самом деле для настройки требуется кодирование JS.
Преимущества
Легко применимо к приложениям на основе Struts;ЗК
Совместимо со Struts? | НЕТ |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | ДА |
Связь | www.zkoss.org |
Главная цель
Предоставляет унифицированную модель для написания компонентно-ориентированных RIA (многофункциональных интернет-приложений).
Требуется тяжелое кодирование JS?
НЕТ, однако JS был заменен другим языком.
Преимущества
Впечатляющее сообщество; Хорошо документированы; Имеет набор полезных компонентов;Недостатки
Требует обучения и рефакторинга веб-слоя;Риск
Не совместим со Struts.Комментарии
Выглядит неплохо, но все же не стандартно.Требуется переход к совершенно новому подходу к развитию.
Струтс Шейл
Совместимо со Struts? | ДА |
Серверная часть? | ДА |
Ориентирована на компонентную модель? | ДА |
Связь | www4.java.no/javazone/2005/presentasjoner/KitoMann/MigratingfromStrutstoJSF-60Minutes.pdf |
Главная цель
Позволяет упростить процесс миграции приложения Struts на JSF.Требуется тяжелое кодирование JS?
НЕТ, вообще (с использованием стандартных реализаций)Преимущества
Создан для простой миграции приложений на основе Struts в JSF; Унифицирует процесс создания компонентов; Упрощает повторное использование компонентов; Четко определенный процесс разработки; Интегрирован в инструменты визуальной разработки.
Недостатки
Требует обучения и рефакторинга веб-слоя;Риск
Веб-слой необходимо переработать;Комментарии
Хорошо выглядит для разработки приложений на базе Struts, в ходе которой команда столкнулась с возрастающей сложностью пользовательского интерфейса.
Позволяет снизить риск перехода на JSF.
Дополнительные ресурсы:
TD_GEN_Web2.0_AJAX.pdf Теги: #java #struts #Ajax #jsf #dojo #zk #jMaki #gwt #Google Web Toolkit #DW #Ajax-
Радость Написания И Подачи Статей
19 Oct, 24 -
Вызов Варианта
19 Oct, 24