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

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

    может, формат и не очень подходящий, но какой уж есть. мнение субъективно.

    JSF (Java Server Faces)


    Совместимо с Struts? НЕТ
    Server side? ДА
    Ориентированно на компонентную модель? ДА
    Ссылка 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-функциональность
    Ссылка dojotoolkit.org/demos

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


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

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


    ДА

    Достоинства


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

    Недостатки


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

    Комментарии


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

    jMaki


    Совместимо с Struts? ДА
    Server side? ДА
    Ориентированно на компонентную модель? ДА
    Ссылка ajax.dev.java.net/jmaki-screenshots.html

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


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

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


    ДА

    Достоинства


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

    Недостатки


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

    Комментарии


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

    Google Web Toolkit


    Совместимо с Struts? НЕТ
    Server side? ДА
    Ориентированно на компонентную модель? ДА
    Ссылка code.google.com/webtoolkit

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


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

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


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

    Достоинства


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

    Недостатки


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

    Риск


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

    Комментарии


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

    DWR


    Совместимо с Struts? ДА
    Server side? ДА
    Ориентированно на компонентную модель? НЕТ
    Ссылка getahead.org/dwr

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


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

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


    ДА

    Достоинства


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

    Комментарии


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

    AjaxTags


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

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


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

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


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

    Достоинства


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

    ZK


    Совместимо с Struts? НЕТ
    Server side? ДА
    Ориентированно на компонентную модель? ДА
    Ссылка www.zkoss.org

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


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

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


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

    Достоинства


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

    Недостатки


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

    Риск


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

    Комментарии


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

    Struts Shale


    Совместимо с Struts? ДА
    Server side? ДА
    Ориентированно на компонентную модель? ДА
    Ссылка 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
    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 21

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

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

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

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

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

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

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

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

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

                                Самое читаемое