Recently I have been playing with various AJAX frameworks, both open source and commercial. For simple ‘update a certain portion of the page only’ type of applications you can roll up your sleeve and deal with the XMLHttpRequest (XHR) directly or use open source API’s like Prototype/DOJO to simply make the call.
Like anything on the server side of things, the fun (or pain) aspect will be directly tied to the framework you use for AJAX RIA development. On the commercial side I looked at JackBe, Backbase and TIBCO General Interface. Each of them comes equipped with an IDE to do development. The most impressive IDE was TIBCO General Interface. You unzip the source and point your browser to one html file and voila you are in an IDE all within the browser. Pretty amazing when you realize they may have used many of their own components to build the IDE. Very similar situation with JackBe. The thing I did not like about JackBe was you need to start a tomcat instance and then point to that URL to get to your browser-based IDE. And also JackBe’s components and API’s were quite cryptic with 3 letter function names and no packaging of the various classes. Also various components were not feature rich. But I think as with any product they will evolve. As for the others, I looked at them and had mixed reactions. The real unknown to me about these commercial tools is; what will be my experience if I need to get out of the IDE and deal with the code directly. That is where open source wins.
On the open source there is DOJO and YAHOO YUI. Both are very comparable in ease of use, features and widget support. Both have nicely packaged components. By packaging I mean Java like packaging of API’s. Makes a developers life very easy. Where YUI wins outright is documentation. Its great. With DOJO I have had to spend many hours pouring through various sites to get developer help. They have a manual and an API guide but somehow not enough or not up to the mark. Checkout YUI docs and it makes any developer smile.
Note: I was quite amazed with TIBCO General Interfaces’ support for Web Services. Take a look at that. The IDE can parse a WSDL and allows you to drag and drop form elements directly on WSDL elements to map them together.