What do you use for client to server communication with GWT? What do you use for client to server communication with GWT? ajax ajax

What do you use for client to server communication with GWT?


We primarily use three methods of communications:

  1. GWT-RPC - This is our primary and prefered mechanism, and what we use whenever possible. It is the "GWT way" of doing things, and works very well.
  2. XMLHttpRequest using RequestBuilder - This is typically for interaction with non-GWT back ends, and we use this mainly to pull in static web content that we need during runtime (something like server side includes). It is useful especially when we need to integrate with a CMS. We wrap our RequestBuilder code in a custom "Panel" (that takes a content URI as its constructor parameter, and populates itself with the contents of the URI).
  3. Form submission using FormPanel - This also requires interaction with a non-GWT back end (custom servlet), and is what we currently use to do cross site communications. We don't really communicate "cross site" per se, but we do sometimes need to send data over SSL on a non-SSL page, and this is the only way we've been able to do it so far (with some hacks).


The problem is that you are on a web browser so any non-http protocol is pretty much not guaranteed to work (might not get through a proxy).

What you can do is isolate the GWT-RPC stuff in a single replaceable class and strip it off as soon as possible.

Personally I'd just rely on transferring a collection of objects with the information I needed encoded inside the collection--that way there is very little RPC code because all your RPC code ever does is "Collection commands=getCollection()", but there would be a million other possibilities.

Or just use GWT-RPC as it was intended, I don't think it's going anywhere.