Sep 29, 2009

AJAX Frameworks – Comparative Study


AJAX frameworks can make software development easier. Ajax doesn't have to be that hard, and most of the Ajax frameworks are doing their best to make life easier for the busy developer. The hard part is selecting the right framework for the job at hand. There are lots of freely available frameworks/toolkits in the market for AJAX. This document presents five of the best tools; each one of those has its own benefits and drawbacks. The objective of this document is to evaluate and choose the best one.

Comparison Methodology

The study has been done based on the below criteria:

  • Installation aspects (Packaging, setup, maintenance)
  • Development aspects
  • Quality aspects

Frameworks compared

  • Prototype with
  • DOJO Toolkit
  • YUI (Yahoo! User Interface)
  • Direct web Remoting (DWR)
  • GWT (Google Web Toolkit)

Overview of Frameworks / Toolkit compared

Prototype with
Prototype is a JavaScript framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the code base of choice for web application developers everywhere.

Dojo Toolkit
Dojo toolkit is a modular open source JavaScript toolkit (or library), designed to ease the rapid development of JavaScript- or Ajax-based applications and web sites. Dojo is a major abstraction layer between normal DOM calls and Dojo calls. It provides an abstraction for every page widget in a manner that you would expect from a server-side language: making every page widget a type of component that goes into abstract container objects. You can use Dojo to write clean, efficient, reusable code

Despite the file size, however, its execution speed once downloaded is quite impressive, and it includes functionality ranging from AJAX to complex graphics capabilities. Dojo provided more features and widgets but customization was harder due to the number of files needing modifications

YUI (Yahoo! User Interface)
The Yahoo! User Interface (YUI) Library is a set of utilities and controls, written in JavaScript, for building richly interactive web applications using techniques such as DOM scripting, DHTML and AJAX. The YUI Library also includes several core CSS resources. All components in the YUI Library have been released as open source and are free for all uses. YUI provides a compressed version of JavaScript files ready for deployment.

Direct web Remoting (DWR)
DWR is a Java open source library which allows you to write Ajax web sites. It allows code in browser to use Java functions running on a web server just as if it was in the browser. DWR can dynamically generate JavaScript from a Java API. This is done at runtime rather than compile time, so we can use it to remote control many browsers. This makes it very easy to write things like chat applications, or anything particularly dynamic. DWR doesn’t provide the user’s interfaces that can be plugged within our web applications, which is an important drawback compared other frameworks.

Google Web Toolkit Features (GWT)
Google Web Toolkit, or GWT, is an open source Java framework that can auto-generate AJAX-enabled JavaScript code from Java byte code. In other words, if the code is in pure Java using Google API and "when you deploy your application to production, the GWT compiler translates your Java application to browser-compliant JavaScript and HTML," the JavaScript code produced will be AJAX enabled.


comparative-study1 2006 Survey results is a leading online resource for the AJAX community, operated by early adopters of the technology.


Recommendation Report



Prototype (because of its flexibility and clarity) and GWT (because it is support by Google) are the ones are most valuable. If you consider overall ease of development, Yahoo UI is good due to its well documented code and detailed tutorials on the Yahoo website. Dojo provides more features and HTML widgets than YUI and Prototype. However, Dojo's widget customization requires some effort. Although, the functionality of each tool is important, you have to take into account which one you estimate will fulfil your needs thinking about the future, because every tool of this kind is growing and making the difference every day. In the end, YUI stands out as the easiest to work with.


Olivier said...

1) GWT is not a framework but a toolkit. I don't know all the other ones but it seems to me they are toolkits too.

2) GWT does not "auto-generate AJAX-enabled JavaScript code from Java byte code", it generates JavaScript from source code.

3) What makes GWT integration with development frameworks "poor"?

4) GWT explicitly supports IE, Firefox, Safari, Opera and Chrome. Practically, you also get compatibility with all webkit and mozilla based browsers.

Sean said...

What about jQuery?

Text Widget

Copyright © Vinay's Blog | Powered by Blogger

Design by | Blogger Theme by