There are many technologies used in the world to develop a applications, but instead of developing applications the greatest challenge is to make an application quick, reliable, user friendly and responsive.
I have written these series of articles by focusing on both beginners and experienced people so at the end of this year you will see all the Ajax and Ajax Control Toolkit Examples in one roof. So let us begin the journey with the first part.
Introduction
Problems in traditional web Applications
- Many round trips to the server.
- Rendering of webpage is slower.
- Increases the consumption of server resources.
- Response time of application is very slower.
- Rendering of data is static.
- Data is updated of an application only when the user clicks on the browser refresh button.
So the preceding is some of the basic problems related to the traditional web application so to overcome these problems Ajax is the best alternative. So let us start with the basics.
What is Ajax ?
Ajax stands for Asynchronous JavaScript and XML; in other words Ajax is the combination of various technologies such as a JavaScript, CSS, XHTML, and DOM etc.
AJAX allows web pages to be updated asynchronously by exchanging small amounts of data with the server behind the scenes. This means that it is possible to update parts of a web page, without reloading the entire page.
We can also define Ajax is a combination of client side technologies that provides asynchronous communication between the user interface and the web server so that partial page rendering occurs instead of complete page post back.
Ajax is platform-independent; in other words AJAX is a cross-platform technology that can be used on any Operating System since it is based on XML & JavaScript. It also supports open source implementation of other technology. It partially renders the page to the server instead of complete page post back. We use AJAX for developing faster better and more interactive web applications. AJAX uses a HTTP request between web server & browser.
Using Ajax technologies we can observe in Google Maps, Gmail, YouTube, and Facebook tabs.
I hope you have understood the basic concepts of Ajax. Now let us see the following diagram showing how Ajax works:
In the above diagram it's clear how Ajax works, that first depending on the client requests the browser creates the XMLHttpRequest and sends it to the server and there after that the server processes the HttpRequest given by the browser, processes it and then sends the response back to the user and at the end the browser processes the response given by the server using JavaScript and update the requested content of the particular page instead of the entire page contents.
AJAX is Based on Internet Standards
AJAX is based on internet standards, and uses a combination of a XMLHttpRequest object to exchange data asynchronously with a server, JavaScript and DOM to interact with the information and CSS is used to style the data and XML is often used as the format for transferring data.
Let us know about the basic information each technology uses in Ajax.
1. XHTML and CSS
XHTML (or HTML) is used for providing the markup tags, as used in any typical web site. In addition, we utilize CSS for extra styling functionality in relation to presentation and layout. XHTML is a stricter and more standardized form of HTML, which follows the rules of XML such as the requirement for well-formatted and valid against a schema or DTD.
2. Document Object Model (DOM)
The Document Object Model is a platform and language independent standard object model for representing HTML or XML.
3. XML
XML is typically used as the format for transferring data between the server and the client. Using XML we can represent any applicable data object structure we might wish to represent.
4. XMLHttpRequest (XHR) and JavaScript
The XMLHttpRequest is the core of the Ajax model; without it the model would not exist. The XMLHttpRequest JavaScript object is the enabling technology which is used to exchange data asynchronously with the web server. In short, XMLHttpRequest lets us use JavaScript to make a request to the server and process the response without blocking the user. Naturally, as we are using this JavaScript object, the providing technology is JavaScript and hence some knowledge of JavaScript is required to get Ajax applications to function.
Note:
I hope you have understood the basics concepts of Ajax. Now let us discus the relation between Ajax and ASP.Net Framework.
Ajax and ASP.Net Framework
ASP.NET AJAX integrates client script libraries with the ASP.NET 2.0 development framework. This new Web development technology extends ASP.NET, offering the interactive user interface benefits of AJAX with a programming model that is more familiar to ASP.NET developers, making it very easy to add AJAX to your applications quickly and with minimal effort.
Power of Ajax
- With AJAX, when a user clicks a button, you can use JavaScript and DHTML to immediately update the UI, and spawn an asynchronous request to the server to fetch results.
- When the response is generated, you can then use JavaScript and CSS to update your UI accordingly without refreshing the entire page. While this is happening, the form on the users screen doesn't flash, blink, disappear, or stall.
- The power of AJAX lies in its ability to communicate with the server asynchronously, using a XMLHttpRequest object without requiring a browser refresh.
- Ajax essentially puts JavaScript technology and the XMLHttpRequest object between your Web form and the server.
Everything happens behind the scenes with a minimum request and response cycle without the knowledge of the user.
Advantages of AJAX based application
- Improved application performance by reducing the amount of data downloaded from the server
- Rich, responsive and Slick UI with no page flickers
- Eliminates frequent page refresh which usually happens in a typical request/response model (Everything is updated on fly)
- Easy to implement as there are variety of AJAX implementations available around
- AJAX mechanism works behind the scene nothing much required from user perspective
- Works with all browsers
- Avoids the round trips to the server
- Rendering of webpage faster
- Decreases the consumption of server resources
- Response time of application is very faster
- Rendering of data is dynamic
So let us start with the basic concepts of Ajax Extension which comes with the ASP.Net Framework.
Using Ajax Extension
The following are the most commonly used Ajax controls in an ASP.Net Application which comes with the ASP.Net Framework and available under the Ajax Extension tab of ASP.Net Toolbox present at the left hand side of Microsoft Visual Studio framework.
These controls are:
- ScriptManager
- UpDatePanel
- Timer
- UpdateProgress
- ScriptManagerProxy
- Pointer