May 01, 2007
AJAX: Selecting the Framework that FitsThe right tools make the differenceAndrew Turner and Chao Wang
AJAX frameworks can make software development easier. The hard part is selecting the right framework for the job at hand.
Andrew is an application architect with T. Rowe Price. Chao Wang is a consultant with Sogeti USA LLC, currently contracted with T. Rowe Price. They can be contacted at andrew_turner@troweprice.com.
In 2006, financial services firm T. Rowe Price envisioned a new release of its company-sponsored retirement plan website. Because thousands of participants accessed the website every hour, the main feature of the new release was to put the most important data at users' fingertips. However, the requirements also clearly stated that performance must not degrade and that additional display components would be added later. In short, a new, compact design presenting more financial information on the same-size homepage had to be created.
Our development team decided that AJAX might solve the real-estate issue. AJAX asynchronously loads web page components without reloading the entire page. This dynamic loading is accomplished via CSS, DHTML, and the XMLHttpRequest or ActiveXObject JavaScript methods. These functions can be used directly, or through AJAX frameworks, which provide ready-to-use widgets that work on most browsers.
Several AJAX frameworks were available, and we had to choose the appropriate one for our projecta process that required a significant amount of research and testing. For instance, our requirements included ongoing support for a variety of browsers and usability that had to be maintained.
We educated ourselves, examined several AJAX libraries, and performed browser and load testing throughout the project. The new AJAX-based retirement-plan website was deployed to production in mid-December 2006. To date, we've received excellent feedback, and we hope you benefit from the process we used to evaluate AJAX libraries and develop our first AJAX-enabled application.
|
|
||||||||||||||||||||||||||||||
|
|
|
|