GWT + GAE python: фреймворки для COMET и RPC - PullRequest
1 голос
/ 15 декабря 2009

Допустим, я хочу использовать Google GWT на стороне клиента и Google AppEngine Python на стороне сервера. Кроме того, я хочу иметь возможность использовать вызовы RPC к серверу, а также выполнять обмены на основе COMET.

Какие у меня варианты с точки зрения существующих фреймворков?

Ответы [ 4 ]

2 голосов
/ 15 декабря 2009

Я нашел это, прибегая к помощи gwt python: http://code.google.com/p/python-gwt-rpc/ - кажется, что он не поддерживается, поскольку App Engine теперь поддерживает Java.

И это, прибегая к помощи "gwt comet": http://code.google.com/p/rocket-gwt - который должен работать на вашей стороне клиента, чтобы сделать вешающие GET на сервер, что, возможно, может быть написано на Python.

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

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

Просто напишите сервер на Java.

1 голос
/ 29 декабря 2010

Год спустя, новый Channel API, доступный в GAE, позволяет таким постоянным соединениям избегать опроса как в Java , так и Python .

" Channel API создает постоянное соединение между вашим приложением и серверами Google, позволяя вашему приложению отправлять сообщения клиентам JavaScript в режиме реального времени без использования опроса. Это полезно для приложений, предназначенных для обновления Пользователь сразу же узнает о новой информации или когда пользовательский ввод сразу же транслируется другим пользователям. Некоторые примеры включают приложения для совместной работы, многопользовательские игры и чаты. В общем, использование Channel API - лучший выбор, чем опрос в ситуациях, когда обновления не могут быть предсказанным или составленным по сценарию, например, при передаче информации между пользователями или событиями, которые не генерируются систематически."

0 голосов
/ 10 июня 2011

Вы можете сделать это с помощью небольшого дополнительного сервиса (я размещаю его бесплатно):

http://www.brightyellowcow.com/blog/Comet-AJAX-push-using-PHP-or-Google-App-Engine.html

Единственная задача службы - обеспечить пробуждение клиентского приложения, и оно делает это с помощью длинного опрашиваемого ajax-запроса. Ваше приложение ядра приложения запускает службу через http, когда появляются новые загруженные данные, что заставляет клиента просыпаться и возвращаться к приложению ядра приложения для получения новых данных.

0 голосов
/ 21 декабря 2009

App Engine в настоящее время не поддерживает кометы, потому что он не поддерживает зависания GET (например, длительные запросы). Если вы хотите сделать комету, вам придется воспользоваться внешней службой или дождаться поддержки Comet в App Engine.

...