DWR Hooks and Dojo Dialogs

It’s common to use Dojo to talk to a Java server using DWR. Here’s a handy hint for how to add a nice “loading” feature that uses a Dojo widget to display the progress made by a DWR call.

DWR has had a useLoadingMessage() function since version 1.0, but there have always been some problems with it – it mimics the early GMail loading message, which is OK if you like that style, but not otherwise. It can get confused if there are multiple actions outstanding, and there is no way to tell it to go away if you need to continue interacting with the page. We try with DWR to focus on remoting and not widgets, so we have not spent a lot of time on a fancy loading message widget.

Enter the Dijit Dialog which can solve all of these problems in addition to being accessible, themeable, localizable and generally more full of goodness.

Continue reading

Client/Server Model on the Web

Prior to the popularity of the web, client/server applications often involved the creation of native applications which were deployed to clients. In this model, developers had a great deal of freedom in determining which parts of the entire client/server application would be in the client and which in the server. Consequently, very mature models for client/server development emerged, and often well designed optimal distribution of processing and logic could be achieved. When the web took off, the client was no longer a viable application platform, it was really more of a document viewer. Consequently the user interface logic existed almost entirely on the server. However, the web has matured substantially and has proven itself to be a reasonable application platform. We can once again start utilizing more efficient and well-structured client/server model design. There are certainly still technical issues, but we are in a position to better to build true client/server applications now.

Continue reading