AJAX in a nutshell : It can't get any simpler folks
1. Ajax basics
- Ajax uses the following existing technologies.
Designing/Styling : XHTML/HTML, CSS
Async/Sync calls to the server : XMLHttpRequest
Data manipulation : DOM
Data Exchange : XML, Html, Plain Text, JSON
- Ajax is not a technology in itself, but a term that refers to the use of a group of technologies.
- Although the term Ajax was coined in 2005, most of the technologies that enable Ajax started a decade earlier with Microsoft's initiatives in developing Remote Scripting.
- AJAX was made popular in 2005 by Google (with Google Suggest).
- Microsoft then introduced XMLHttpRequest object in IE5 and used it extensively in OWA and MS Exchange 2000.
- User Experience
- Bandwidth Usage
- Separation of Data, format, style and function
- Browser Integration
The dynamically created page does not register itself with the browser history engine, so triggering the "Back" function of the users' browser might not bring the desired result.
Another issue is that dynamic web page updates make it difficult for a user to bookmark a particular state of the application.
- Response Time
Network Latency or the interval between user request and server response - needs to be considered carefully during Ajax development. ASP.Net Ajax has UpdateProgress to counter this concern.
5. A quick view of XMLHttpRequest
6. Ajax Toolkit and CTP
- You need important AJAX Downloads to get started. It contains the AJAX Toolkit and Community Technology Preview controls.
- The AJAX Extensions provides you with all the necessary controls like UpdatePanel, UpdateProgress, ScriptManager etc. It also provides you with an ASP.Net AJAX Enabled Website template. It is installed in your Visual Studio 2005. So, all you need to do is to select this template and then rock and roll.
- The AJAX Toolkit is a set of controls that greatly enhance the UI and provides easy to use functionality.
- The CTP tools provide you an some original and extender controls. This is actually created and supported by the ASP.Net AJAX community.
7. Asynchronous communication Layer
- It can invoke ASP.Net page methods.
- It provides a default XMLHttpExecutor class that functions as an interface between a client web request and the network.
- The proxies are created at the client end. This facilitates XMLHttpRequest object to send requests.
- The Server Asynchronous Communication Layer looks like following. The Http Handler performs deserialization of JSON/XML request and hands it over to Business classes.
- This guy needs special introduction as it sits on each of your AJAX enabled page.
- By default, the ScriptManager control registers the script for the Microsoft AJAX Library with the page. This enables client script to use the type system extensions and to support features such as partial-page rendering and Web-service calls.
- It enables Client-script functionality of the Microsoft AJAX Library, and any custom script that you want to send to the browser.
- Partial-page rendering, which enables regions on the page to be independently refreshed without a postback. The UpdatePanel, UpdateProgress and Time controls need it.