- They have built their own set of gui controls - the functionality of which can be realised in html. If you start using them, and you are familiar with html you will soon see this. They are "wrappers" onto the features of the html controls. They also have some of the familiar layout managers - DockLayout (BorderLayout), FlowLayout, TableLayout and others.
- Handle AJAX calls with standard RPC infrastructure but with additions to make it asynchronous. For someone who's done RPC in any context, a lot of the concepts involved will be familiar.
- Build the remote interface, build the remote implementation of the interface
- Build the Asynchronous remote interface - contains every method in the synchronous interface but with call back reference added to each call.
- The process of calling is…
- Instantiate the remote interface (on the client).
- Specify the location of the "server" - in this case it is a servlet which you call.
- Make the call - when making the call provide an implementation of the AsyncCallBack interface. AJAX familiar people will recognise this concept.
The payload can be fairly big - a fairly simple app I'm busy with comes to 82K. It might sound like a lot, but when you consider that there is absolutely no library code on the platform on which it is running it puts it into perspective. There is no big JVM required, the client only needs a browser.
All in all, it is an amazing tool. I'm not sure if it is ready to write business applications on - but I do think that day will come.