Ajax

индекс
86,27

Java + Struts + AJAX (библиотеки)

искал библиотеки для внедрения ajax-enabled функционаьлности в проект на java и пытался составить сравнительную характеристику. может, кому-нибудь будет интересно. Основной упор делался на то, что проект изначально был написан с использованием Struts. может, формат и не очень подходящий, но какой уж есть. мнение субъективно.

JSF (Java Server Faces)

Совместимо с Struts? НЕТ
Server side? ДА
Ориентированно на компонентную модель? ДА
На что повлияет использование решения Процесс разработки
Ссылка http://java.sun.com/javaee/javaserverfaces/ajax/index.jsp

Основная цель

Улучшить разработку web-приложений и упростить создание "тяжелых" приложений с разветвленным пользовательским интерфейсом.

Требует серьезного кодирования на JS?

Нет в случае использовании стандартных компонентов и реализаций (существуют реализации, которые изначально поддерживают ajax).

Достоинства

Унифицирует процесс создания компонентов; Упрощает повторное использование компонентов; Четко определенный процесс разработки; Интегрировано в визуальные средства разработки

Недостатки

Требует обучения и рефакторинга web-слоя;

Риск

Для реализованных на Struts приложениях требует переработки web-слоя;

Комментарии

JSF - современное решения для сложных web-приложений. Компонентно-ориентированное. JSF содержит свой собственный процесс (цикл) разработки, который помогает четко определить роли разработчиков в проекте. Существует несколько визуальных сред разработки (IDEA, NetBeans, Sun Java Studio Creator 2), которые помогают построить приложение с использование JSF.

Dojo

Совместимо с Struts? Да (не зависит от серверной части)
Server side? НЕТ
Ориентированно на компонентную модель? НЕТ
На что повлияет использование решения JS-функциональность
Ссылка http://dojotoolkit.org/demos

Основная цель

Разделяет общий js код, упрощает добавление виджетов.

Требует серьезного кодирования на JS?

ДА

Достоинства

Не влияет на серверную часть

Недостатки

Требует дополнительного кодирования для вызова бизнес-методов с клиентской части

Комментарии

Выглядит, как ориентированное больше на дизайн (внешний вид/анимация).

jMaki

Совместимо с Struts? ДА
Server side? ДА
Ориентированно на компонентную модель? ДА
На что повлияет использование решения Подход к разработке UI компонентов
Ссылка https://ajax.dev.java.net/jmaki-screenshots.html

Основная цель

Агрегирует компоненты, написанные с использованием различных библиотек; интегрирует их в j2ee среду

Требует серьезного кодирования на JS?

ДА

Достоинства

Унифицирует процесс создания компонентов

Недостатки

Требует дополнительного кодирования для вызова бизнес-методов с клиентской части

Комментарии

Библиотека позволяет интегрировать уже существующие компоненты.

Google Web Toolkit

Совместимо с Struts? НЕТ
Server side? ДА
Ориентированно на компонентную модель? ДА
На что повлияет использование решения Процесс разработки
Ссылка http://code.google.com/webtoolkit/

Основная цель

Позволяет реализовывать web приложения, как будто это Swing-based решение;

Требует серьезного кодирования на JS?

НЕТ (серьезно, нет необходимости писать js код вообще!)

Достоинства

Позволяет реализовывать web приложения, как будто это Swing-based решение; Легко поддается отладке

Недостатки

Конвертирует страницы в нередактируемый код

Риск

Сложно изменить внешний дизайн страниц; Не совместимо со Struts;

Комментарии

Интересное решение, которое позволяет реализовывать компоненты и бизнес-логику полностью на java, без js.

DWR

Совместимо с Struts? ДА
Server side? ДА
Ориентированно на компонентную модель? НЕТ
На что повлияет использование решения Подход к разработке ajax-enabled UI компонентов
Ссылка http://getahead.org/dwr/

Основная цель

Позволяет вызывать бизнес-методы с клиента. Основанная на JS RPC.

Требует серьезного кодирования на JS?

ДА

Достоинства

Легко вызывать бизнес-методы с клиентской части; Легко в использовании

Комментарии

DWR - это RPC (remote procedure calling - удаленный вызов процедур, как RMI, например). Реализует только то, что от нее требуется - упроцает обмен сообщениями между клиентом и сервером.

AjaxTags

Совместимо с Struts? ДА
Server side? ДА
Ориентированно на компонентную модель? Нет, решение основано на JSP тэгах, который изначально не поддерживают компонентную модель разработки, тем не менее, решение довольно элегантно и хорошо интегрируется в JSP.
На что повлияет использование решения Подход к разработке UI компонентов
Ссылка http://ajaxtags.sourceforge.net/

Основная цель

Позволяет внедрять ajax-enabled решения в приложение на основе JSP.

Требует серьезного кодирования на JS?

ДА/НЕТ. Основная задача библиотеки - снизить количество JS кода. Однако, на самом деле, требует JS кодирования для кастомизации.

Достоинства

Легко применимо к Struts-based приложениям;

ZK

Совместимо с Struts? НЕТ
Server side? ДА
Ориентированно на компонентную модель? ДА
На что повлияет использование решения Процесс разработки
Ссылка http://www.zkoss.org/

Основная цель

Предоставляет унифицированную модель написания компонентно-ориентированных RIA (rich internet application)

Требует серьезного кодирования на JS?

НЕТ, однако JS заменен другим языком.

Достоинства

Внушительное community; Хорошо документированно; Имеет набор полезных компонентов;

Недостатки

Требует обучения и рефакторинга web-слоя;

Риск

Не совместимо со Struts

Комментарии

Выглядит довольно хорошо, но все еще не является стандартом. Требует перехода на совершенно новый подход в разработке.

Struts Shale

Совместимо с Struts? ДА
Server side? ДА
Ориентированно на компонентную модель? ДА
На что повлияет использование решения Процесс разработки
Ссылка http://www4.java.no/javazone/2005/presentasjoner/KitoMann/MigratingfromStrutstoJSF-60Minutes.pdf

Основная цель

Позволяет упростить процесс мигрирования Struts-приложения на JSF

Требует серьезного кодирования на JS?

НЕТ, в общем случае (при использовании стандартных реализации)

Достоинства

Создано для того, чтобы легко мигрировать Struts-based приложения на JSF; Унифицирует процесс создания компонентов; Упрощает повторное использование компонентов; Четко определенный процесс разработки; Интегрированно в визуальные средства разработки

Недостатки

Требует обучения и рефакторинга web-слоя;

Риск

Требуется переработка web-слоя;

Комментарии

Выглядит хорошо для разработки Struts-based приложений, в ходе которой команда столкнулась с увеличением сложности пользовательского интерфейса. Позволяет снизить риск примиграции на JSF.

Дополнительные ресурсы:

TD_GEN_Web2.0_AJAX.pdf
0
28 апреля 2007, 15:29
8

комментарии (21)

0
isapioff #
java + ajax, похоже, никого не интересует :( либо я ошибся сайтом
0
Quessir #
Почему же??? Еще как интересует! Я как раз планирую использовать DWR. Раньше использовал AJAX только с клиентской части, а теперь вот всерьез заинтересовался DWR.

Хотя, отчасти вы правы. Насколько я понял, здесь сидят в основном администраторы(если по-проще то просто тупо смотрят за сайтом) и около-вебовцы. А первый разработчик, которого я встетил, это вы.

Только сейчас есть и многие другие. Например, Ajax4JSF(от JBoss-a). Предлагаю написать не обзор, а более конкретную характеристику той технологии, которая набирает больше плюсов. А насчет GWT, я думаю, он скоро станет очень популярным. И не совсем верна рубрика. Имхо, статья относится к Web-разработке. Кстати, таммногие статьи не подхдят под классификацию.
НЛО прилетело и опубликовало эту надпись здесь
0
isapioff #
сейчас навалом, но с чего-то нужно было начинать :) вообще, я все собираюсь написать обзор ext js, но руки пока не доходят :(
НЛО прилетело и опубликовало эту надпись здесь
0
iZENfire #
Я давно не занимался server-side-приложениями на Java (c 2002 года). Вот тоже хочу снова вернуться на эту стезю. Смотрю, какие переводные книжки появились по новым технологиям Java и не нахожу этого! На русском языке практически нет новых книг по технологиям J2EE, а за пять-шесть лет то, что было раньше, уже устарело. Сейчас никто не пишет JSP-страницы вручную — используются фреймворки (обозначенные автором темы).

Технический английский у меня на троечку, так что разобраться с новой архитектурой/фреймворками на инглише тяжеловато будет. Что можете порекомендовать для первичного изучения, так сказать, чтобы быстро вернуться "в тему"? Я думаю начать с JSF, ведь по нему скоро выйдет переводная книжка "Core JavaServer Faces, 2nd Edition" авторов David M. Geary, Cay S. Horstmann. Для начала в практическом изучении хочу ограничиться работающим форумом на Tomcat+ApacheDerby.

Так что посоветуете?
0
isapioff #
открою вам секрет - jsp страницы все еще пишутся вручную. и используется все тот же старый добрый struts. по крайней мере для многих промышленных приложений.
для начала почитайте про изменение в языке - (Java 2 v5.0 (Tiger). Новые возможности Герберт Шилдт) - очень сжато и доходчиво. все остальное - наносное. принципиально ничего не изменилось. на русском языке не могу ничего подсказать. читаю технические документы на английском.
да и фреймворки, библиотеки появляются все новые и новые, за всеми не уследишь.
0
allnightlong #
интересует - интересует..
к сожалению, не наткнулся на этот топик вовремя, поэтому не смог проголосовать.
поэтому поднимаю карму%)
0
isapioff #
благодарю :)
0
Butylski #
хороший обзор
0
TechnologyMasta #
Спасибо огромное!
Обзор очень помог и как раз вовремя. Помог устроиться на работу!
Спасибо, присоединяюсь к посмотреть профиль allnightlong!
Спасибо!
НЛО прилетело и опубликовало эту надпись здесь
0
diversiya #
Пишите сударь...пишите еще. java - отличная штука, тем более для веб. Жду дальнейших публикаций..
0
Gugnin #
Раз уж такое дело пошло — кто-нибудь знает халявный блог-движок на Java хотя бы с простейшим визивигом и возможностью прикручивать дизайны?
0
Scala #
0
Gugnin #
Приятно, конечно, что спустя почти полтора года отвечают на комментарий, когда ты уже сам забыл что и зачем просил 8))) Эдакая машина времени получается.

Все равно, Спасибо!
0
squonk #
Кстати есть ещё IceFaces (icefaces.org). Это расширение JSF. И со стратсом 2 вроде бы дружит.
0
Gomer #
Я использую JSF + DynamicFaces(Ajax библиотека), если кому интересно, могу подробнее написать об этом.
0
gAmUssA #
Про GWT Ext слыхали?
0
shalb #
Юзаю ZK — Zkoss rulez!
0
dieinzige #
Личные заметки:
RichFaces — простая интеграция с JSF, и довольно просто вливаются разработчики,
Минусы — не рекомендую использовать на продакшне с высокой посещаемостью или будете оочень много
допиливать(советы типа ререндерить только малую часть не спасут)
У ZK вроду с лицензией раньше было все не очень хорошо, а так — интересно))
jMaki — пол года назад вел себя очень не одназначно, и мы от него сразу же отказались
Минус JSF что зачастую придется делать мешанину из jsf и jsp плюс на выходе получится очень все не кузяво, и просто в ручную добавить xhr вызовы со страницы — придется еще один сервлет который будет json отадвать, — не очень удобно

На текущий момент мне кажется наиболее удобным вариантом реализации это GWT(gwt-ext и прочие библиотеки компонентов осн на gwt).
Как вариант это посмотреть на клон Рельсов( grails ) — оочень удобно и вкусно, правда придется запастить js-библиотечкой и немного написать руками

Стало интересно при чем тут Dojo?) -

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.