Introduction
Ajax frameworks support Ajax technologies to build dynamic, client-side web sites. On dynamic web pages, users can make requests of a database contained on a server. Within an Ajax framework the data is sent to or read by the server through the use of JavaScript. This allows users to make specific requests that are processed and implemented using dynamic factors like specific user input, time of day or search history to determine the content of the web page. While Ajax is primarily a client-side set of technologies, the Ajax framework facilitates server-side processing such as the finding and storage of data. The goal of the Ajax framework is to function as a communication layer between user and server. This framework, which is specially designed to handle Ajax requests, lets Ajax perform its function of reducing user wait time while the web page accesses the server.
This article will discuss the development of the Ajax framework as described by Jesse James Garrett, the man who gave it its name. A brief description of different types of frameworks will follow. This discussion will define direct Ajax frameworks, Ajax component frameworks, and server-driven Ajax frameworks. Finally, this article will suggest other Ajax frameworks that are server independent.
Background
In 2005, Jesse James Garret wrote an article for his company Adaptive Path entitled “Ajax: A New Approach to Web Applications” where the components and goals of Ajax were defined. In it, he describes the discrepancy between desktop applications and web applications. The impetus behind Ajax was to provide web pages with the technology to make them as rich and responsive as desktop applications. The most powerful real-time manifestation of this responsiveness is how Ajax technologies don’t require complete web page reloading every time a new request is made or new data is entered. J.J. Garret defines Ajax as many existing technologies powerfully coming together to create a new user experience.
The components include the following: 1) a presentation based on industry standards using XHTML (Extensible Hypertext Markup Language) and CSS (Cascading Style Sheets). 2) Dynamic and interactive application of DOMs (direct object model). A DOM is a standardized API (application programming interface) that, when implemented in a web browser, allows scripts to access browser elements. DOMs are particularly useful when updating the content, structure and style of HTML or XML documents. 3) Data, contained in databases, must be employed and available for communication and execution of requests. 4) XMLHttpRequest objects conduct asynchronous data retrieval. 5) JavaScript is required to bind all requests so they are intelligible across all Ajax components and multiple platforms.
Ajax frameworks are designed to support these technological requirements and requests. A framework facilitates Ajax programming because for the client uses the highly intelligible and translatable JavaScript to make requests of the server. Meanwhile it searches data, processes request and communicates them to the server through the browser.
Uses
There are three main types of Ajax frameworks. The first are “direct object frameworks”. The second types are “Ajax component frameworks”. The third types are “server driven Ajax frameworks”. The following is a brief description of each one.
Direct object frameworks are usually smaller than the rest. They are used primarily for web site development as opposed to web application development. This is the difference between, for example, on-line shopping site versus a web application like web-based e-mail. Developers must command Ajax, HTML and CSS in this framework, since developers design the pages in HTML and the framework deals with APIs (application programming interfaces) written in HTML. These APIs facilitate communication across browsers.
Ajax component frameworks are larger and generally apply to web applications. They use pre-made components to generate and apply HTML. Ajax component frameworks allow for more rapid development and require less control. Certain structures like grids and tabs are provided, but user input forms must be written in HTML/CSS through Ajax techniques. Other incarnations of this framework only require general XML or JavaScript literacy. Component frameworks provide customized APIs, allow dynamic program control based on user input, and create new components based on existing ones.
Server-driven Ajax frameworks use components developed by the server using server-side languages. User requests are communicated to the server through Ajax techniques. This requires the developer to be literate in both Ajax and server-side code. These frameworks are more useful for server-side developers. However, they can be busy and overloaded since one function may require many server-side requests. Frameworks running through browsers, unlike server-driven frameworks, provide greater scalability. Server-driven frameworks require developers to know which parts of the presentation the client handles and which are handled by the server. JavaServer Faces and Google’s GWT (Google Web Toolkit) are examples of server-driven frameworks.
Points of Interest
Ajax frameworks provide a complete library to construct web applications through the Ajax engine, i.e. the suite of technologies that facilitates communication between user requests and server without the lag-time and work it takes to re-load the entire page. Other types of Ajax frameworks include JavaScript and server technology independent frameworks, .NET frameworks, and PYTHON frameworks.
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

