Behind the AJAX Buzz

AJAX is one of the most commonly heard buzz words when it comes to Web user interfaces (Web UIs).  I have now been working on several Web UIs using AJAX techniques and would like to share a few insights. I will start off with a review of how traditional web applications were – and still are – coded and how AJAX fits into this picture.

Where We’re Coming From
Traditional Web Applications generate pages at the server through technologies like ASP.NET, JSP, PHP etc. These pages are also called dynamic content.  Usually there are also a number of images, CSS and JavasScript files which are sent to the browser “as-is” and are therefore called static content. The main characteristics of a traditional web application is that if a change has to be made to a rendered page or if any communication with the server has to occur, a request is sent to the server, which then generates a new page and sends it back to the browser for rendering. Virtually all UI logic is executed at the server. Client-side logic does not go beyond simple tasks like basic input validation or rollover-effects with menus and images.

The Next Generation Web UI
AJAX (Asynchronous JavaScript and XML) changes this paradigm. Although it is often referred to as technology, it is more a set of programming techniques using a mix of JavaScript, CSS and HTML (a combination also referred to as Dynamic HTML or DHTML).  AJAX allows updating portions of a web page using background calls to the server. Users can experience a smoother, richer UI that does not have to reload the whole page for each small change and can execute server-based tasks in the background. To make this work, some UI logic needs to execute at the client (the browser). Typically, this is done via JavaScript code using an API called XMLHttpRequest calling the server in the background and then changing parts of the rendered UI based on the returned data. So some or even most UI logic now resides in what traditionally was considered the “static” files of the application.

AJAX adds new aspects to application design, requires new skills for developers and can pose additional security risks. In future posts I will explore some of those issues.

Anke


AJAX, QAT WebDaptive

Written by: |

Connect with us: