Evaluating AJAX Frameworks
To begin our evaluation process, we selected five open-source AJAX frameworks to evaluate:
- Dojo 0.3.1 (dojotoolkit.org).
- Prototype and Scriptaculous 1.4 (www.prototypejs.org and script.aculo.us).
- Direct Web Reporting 1.0 (getahead.org/dwr).
- Yahoo! User Interface Library 0.11.1 (developer.yahoo.com/yui).
- Google Web Toolkit 1.0 (code.google.com/webtoolkit).
Next, we narrowed the frameworks to those that fit seamlessly into our development and deployment environments. The retirement-plan website is powered by a content-management server with IBM's WebSphere Application Server (www-306.ibm.com/software/webservers/appserv/was) to render Java Server Pages. Static files, including JavaScript, stylesheets, and images, are all served by the content-management server.
Among the five AJAX frameworks, Dojo, Prototype/Scriptaculous, and YUI were pure JavaScript libraries and worked well in our environment.
DWR is a Java AJAX framework that dynamically generates JavaScript based on Java classes from the application server. Java methods are called from web pages. Unfortunately, this didn't fit into our content-management server architecture. Because a custom patch was required to make it work with our environment, we decided that DWR wasn't a good fit.
GWT is a Java-based AJAX framework that lets you write front-end UI components using Java, then use the GWT compiler to convert them into HTML and JavaScript files. GWT's programming model also didn't fit well with our development environment because our team was split between UI developers and back-end Java developers. Also, the generated HTML/JavaScript code would be difficult to change if we had browser issues. Finally, building the application with GWT required us to learn new Java APIsnot good, considering our time and budget constraints.