Что это вызывает в GWT, чтобы согласовать 2 интерфейса? - PullRequest
2 голосов
/ 06 марта 2010

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

Большое спасибо

Ответы [ 2 ]

4 голосов
/ 07 марта 2010

ОК, я думаю, то, что вы ищете, известно под именами Comet, Server Push, Reverse Ajax (чтобы назвать несколько - все они означают одно и то же, может быть полезно при проведении исследований по этому вопросупредмет).Вкратце, он описывает модель / ситуацию, когда сервер инициирует соединение с клиентом (обычно это наоборот).Конечно, поскольку это клиентская сторона, она на самом деле не слушает соединения, она использует некоторые приемы, чтобы сделать его таким, как длинный опрос (пытаясь сохранить соединение с сервером как можно дольше, ожидая серверачтобы иметь новые данные для отправки клиенту. После максимального времени подключения клиент сразу же повторно подключается и так далее).Это очень крутая функция, которая при правильном использовании может действительно улучшить пользовательский опыт.

Что касается реализации этой концепции:

  • rocket-gwt имеет Удаленный модуль для него
  • cometd - популярный и опытный конкурент;)
  • Ajax Push Engine - этоОтносительно новое дополнение - они создают свой собственный сервер (красиво написанный на C), который может или не может предложить лучшую производительность, чем другие решения, недостатком является то, что на стороне сервера может быть сложнее реализовать (либо писать модули на C, либо JavaScript на стороне сервера).через SpiderMonkey). Примечание: сервер APE может работать только на Linux, BSD или Mac OS X.
  • NGiNX_HTTP_Push_Module - мой любимый, потому что их протоколэто самый простой / чистый, они используют nginx, что означает, что дополнительный сервер не работает (и не требуется Java-сервер - полезно для таких людей, как я, которые не используют Java на стороне сервера).Протокол настолько прост, что простая реализация GWT должна быть простой в написании (на самом деле, это то, что я делаю).

В зависимости от вашей серверной стороны у вас есть много вариантов - Cometd - это надежное решениерешение, но протокол Байе, который они используют, - маленький кошмар, TBH.Я пробовал APE (Ajax Push Engine) несколько месяцев назад, но в то время у них еще не было поддержки SpiderMonkey / JavaScript и только Mootools на стороне клиента, поэтому опыт работы с GWT был не таким хорошим.Глядя на проект сейчас, он более зрелый и многое сделано (из того, что они обещали;)).Мне нравится NGiNX_HTTP_Push_Module лучше всего просто потому, что он кажется «самым легким» из множества - и протокол, и сервер, который он использует (nginx известен своей скоростью и способностью обрабатывать множество соединений одновременно - что очень важно при использовании Comet, посколькуу вас будет много клиентов, "зависающих" на соединениях все время, ожидающих данных с сервера).

Фу, извините за стену текста, надеюсь, это будет полезно (и, надеюсь, это то, что вы былиищу: D).

2 голосов
/ 06 марта 2010

Вы говорите о том, когда два или более человека могут работать вместе с разных компьютеров, поэтому они оба вносят изменения в один и тот же документ? Обычно это называется «программное обеспечение для совместной работы». «Сотрудничать» означает работать вместе.

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

...