Текущие основные технологии для AJAX с Java? - PullRequest
2 голосов
/ 07 января 2011

В поисках реализации RIA с использованием AJAX с Java на сервере.

Я искал в DWR подход в стиле RPC, но проект не обновлялся с 2008 года.

Я также смотрел на DOJO и GWT.

Кто-нибудь может порекомендовать базовый набор технологий, который лучше всего подходит для серверной части на основе Java, который содержит богатый набор клиентских виджетов и интеграцию с серверной частью Spring WebFlow / MVC?

спасибо

Ответы [ 6 ]

1 голос
/ 07 января 2011

Моя рекомендация - это инфраструктура RIA, такая как SmartClient или ExtJS + серверная часть на основе REST (например, на Джерси).Я также обнаружил, что JQuery чрезвычайно полезен в сочетании с этими фреймворками.Все вместе.это позволяет вам создавать графический интерфейс прямо поверх REST API, который сам по себе может быть многократно использован для программной интеграции.

Эти вопросы всегда религиозны, но FWIW Я лично не большой поклонник GWTпо нескольким причинам.Одна из этих причин заключается в том, что я не хочу, чтобы люди на стороне сервера создавали структуры данных, ориентированные на GUI (я бы предпочел, чтобы они придерживались чистых данных и позволяли людям с GUI обрабатывать GUI).Так что я на самом деле не ценю эту способность GWT, но, очевидно, многие другие люди приветствуют этот аспект, поэтому опять же это религиозный выбор.

1 голос
/ 07 января 2011

Я бы порекомендовал Spring 3.0.Он современный, легкий, легко настраиваемый, поддерживает внедрение зависимостей, аннотированные классы и является отличной платформой.

Он поддерживает REST, поэтому легко реализовать классы, которые возвращают JSON на ваши HTML-страницы.Это поможет разделить ваш контент, поведение и презентацию, в то же время позволяя вам создать многофункциональное интернет-приложение.

Хотя за рамками вашего вопроса я бы предложил использовать JQuery на внешнем интерфейсе, так как яЯ получил действительно хорошие результаты, используя его для передачи JSON туда и обратно с сервера.

Я бы держался подальше от DWR.Они слились с Dojo, который, на мой взгляд, является лучшим выбором, чем DWR.DWR звучал хорошо, но на практике он был глючным и сложным в использовании.Додзё был намного чище и более модульным.Но если вы не используете Comet (он же Reverse Ajax), просто придерживайтесь Spring и JQuery.

Spring 3.0 также поддерживается в Google App Engine ... просто стоит упомянуть, что Платформа как Сервис в будущем.

0 голосов
/ 08 января 2011

Spring может хорошо работать, но мое личное предпочтение - простота, а Spring - немного тяжелая платформа. Поэтому я предпочитаю развертывать сервисы на контейнерах JAX-RS (например, Jersey ); Guice для соединения между собой, и в случае, если я хочу переопределить или изменить привязки данных, Jackson для обработки JSON.

Другими полезными компонентами будут jDBI для доступа к базе данных (намного проще, чем hibernate или другие полные ORM), async-httpclient для выполнения вызовов к другим веб-службам.

Лучше всего, все это прекрасно работает для многих других видов использования.

0 голосов
/ 08 января 2011

Я выбираю JSF для приложений RIA.

  1. Это стандарт J2EE 6
  2. встроено в серверы приложений J2EE (glassfish, jboss),
  3. имеет несколько реализаций - если у вас есть проблемы с одной, вы можете переключиться на другую
  4. У меня есть как минимум 4 (richfaces, myfaces, icefaces, primefaces) независимых библиотеки больших компонентов.
0 голосов
/ 07 января 2011

Если вы используете серверную часть Spring MVC, вы можете использовать любой внешний интерфейс AJAX.

И если вы собираетесь разрабатывать RIA, я бы предложил Prototype с Script.Aculo.Us (библиотека эффектов Killer GUI) или MooTools (который является либо расширением, либо перезаписью прототипа, который также включает в себя множество инструментов GUI).

Отличительной особенностью ProtoType и Mootools является их объектно-ориентированная методология ( MooTools Class() docs , Prototype Class.create() docs ), но механизм расширения, который дает дополнительные методы и свойства элементов DOM ( Как Prototype расширяет DOM , MooTools Element, ссылка ). Конечно, этот механизм - то, что ребята из JQuery ненавидят в этих библиотеках. Но приятно то, что из-за этих расширений вам вряд ли когда-нибудь придется прибегать к программированию для браузера, абстракция справится с этим за вас.

0 голосов
/ 07 января 2011

вы можете попробовать GWT. Это хорошо поддерживает Spring. http://www.springbyexample.org/examples/simple-gwt-spring-webapp.html

...