The AJAX library provides rich functionality allowing web applications to behave like desktop applications in performance and responsiveness.
In ASP.NET web form-based development, the power of AJAX combined with server-side controls enhances the application by delivering the following qualities:
- A familiar user interface with common elements (e.g., progress animations, tips, and pop-ups)
- Accelerated function due to in-browser processing of requests
- Conservative page updates focusing only on the elements in need of a refresh
- Better authentication, permission, and user control through integration
- Simplification of calling web service methods
- Deeper customization of server controls
- Better support across browsers
ASP.NET applications utilizing AJAX exploit the Microsoft Ajax library. These applications mix script elements referencing library files with standard code. The library allows applications to execute all actions on the client, and the client and server relationship exploits the library. Microsoft AJAX applications fall into a client-only or client and server application category. Client-only applications use the library, but avoid control use.
The client architecture of the library consists of component support, browser compatibility, networking support, and core services. Client components support rich functionality in the browser without utilizing postbacks. These components can be categorized as components meaning non-visual objects for code encapsulation, behaviors for behavior extension of DOM elements, and controls meaning DOM elements with custom behavior. The compatibility layer provides AJAX compatibility for the most popular web browsers, which allows for development without attention to the target browser. The networking layer manages communication between scripts and elements of the web application, and provides method call and user management. Core services include OOP support, debugging and error handling, and globalization. Globalization allows developers to use a single code base, but provide a UI for multiple regions and languages based on browser information.
The server architecture consists of web server controls, tools for managing the user interface, and tools for managing the general processing of the application. Server controls use integrated server and client code to deliver broad client behavior. Adding a control results in script being automatically provided for the browser requiring no additional coding.