Советы по написанию многофункционального веб-интерфейса для использования RESTful HTTP API - PullRequest
2 голосов
/ 26 октября 2010

Я работал над набором сервисов RESTful HTTP, реализованных с использованием Restlet в Java. Эти службы в настоящее время используются проприетарным настольным приложением, работающим в Windows, и другими внутренними службами.

Моя цель сейчас - разработать пользовательский интерфейс Ajaxy для этих сервисов, который будет работать в веб-браузере. Я знаю о множестве существующих решений. Я довольно хорошо знаком со Scala, Java, GWT и немного знаком с JavaScript.

Следующие решения возникли у меня в голове, и мне было интересно, с чем сталкивались люди в сообществе.

Чистое клиентское решение с использованием GWT. Seesmic воспользовался этим подходом для реализации веб-версии своего клиента социальной сети (я полагаю, что серверные REST-сервисы реализованы с помощью RESTlet). Я знаком с GWT, но иногда нахожу его довольно многословным. Я не пробовал связыватель пользовательского интерфейса.

Серверное решение с Vaadin. Я не знаком с Ваадином, но он выглядит вполне завершенным, и я мог бы использовать его со Scala, который является дополнительным бонусом для меня.

Чистое решение на основе браузера с использованием JavaScript-фреймворков, таких как jQuery, Dojo и т. Д. Решение на основе JavaScript может быть довольно быстрым для создания прототипа, но я немного беспокоюсь о том, как справляться со сложностью по мере роста кодовой базы .

Я с нетерпением жду ваших мнений и опыта реального мира.

Ответы [ 2 ]

3 голосов
/ 26 октября 2010

Сеть имеет свои уникальные требования, если вы хотите в полной мере использовать ее в качестве платформы.

Решения для перевода, такие как GWT и vaadin (построенные на GWT), впечатляют и очень мощны, но если вам нужен полноценный интерфейс наворотов, вам следует использовать чистый JavaScript - предпочтительно использовать одну из упомянутых вами платформ для управления Сложность и различия браузера.

GWT также имеет недостаток, заключающийся в том, что он поставляет свои собственные клиент-серверные коммуникации, поэтому вам будет сложнее установить его под существующие интерфейсы REST.

отказ от ответственности: даже GMail должен использовать какой-то созданный вручную javascript!

2 голосов
/ 26 октября 2010

В настоящее время я работаю над коммерческим приложением для банковского обслуживания, которое обращается к веб-службам через интерфейс GWT.Архитектура нашего приложения выглядит следующим образом.GWT с EXT-GWT на передней панели взаимодействует с Servlet Engine, используя GWT RPC.Веб-уровень затем выступает в качестве прокси-сервера, выполняющего вызовы веб-службы.
Преимущество этого подхода состоит в том, что вы можете изолировать пользовательский интерфейс от веб-служб и включать другие функции, такие как безопасность. Вы также можете вызывать несколько веб-служб (Также в сочетании с некоторыми вызовами БД) на внутреннем сервере, чтобы затем объединить функциональность в представления.
Производительность очень хорошая, за исключением примерно 15-секундного времени запуска в самом начале.
Причина, по которой мы пошли на эточто EXT-GWT предоставляет много хороших виджетов поверх GWT, а также весь наш код написан на Java, что обеспечивает нам безопасность типов и возможность запуска отладчика.

У EXT-GWT есть два недостатка.
1) Время начальной загрузки.
2) Документация может быть лучше.(Он поставляется с большим количеством примеров кода)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...