AJAX Technical Concepts
In AJAX, developers can call Web services asynchronously from client scripts using the
XMLHTTPRequest object to package information as XML data and then transfer it on the network. To make calls, the
XMLHTTPRequest object provides a proxy object that makes the remote call and sends and receives the data.
- The browser's Document Object Model (DOM), which exposes the elements on an HTML page as a standard set of objects (document, window, and so on) that can be manipulated programmatically.
- Dynamic HTML (DHTML), which extends HTML with facilities for reacting to user input on the page in client script, without requiring a round trip.
- Behaviors, which are a way of programmatically packaging UI actions (such as drag-and-drop behavior) that can then be associated with page elements.
In its minimal form, an 'Atlas' application uses client-script libraries to manage the UI and to call server-based components. 'Atlas' also provides server components that interact with the client and that can generate predefined client script.
'Atlas' Client Components
For pure client development, 'Atlas' contains a set of client script libraries (.js files) that define a layered approach for creating client-based applications. The layers consist of:
- A browser compatibility layer, which provides compatibility across most browsers for your 'Atlas' scripts and eliminates the need to write browser-specific scripts.
- An 'Atlas' base class library, which includes components such as string builders, debuggers, timers, and tracing.
- A networking layer that communicates with Web-based services and applications and manages asynchronous remote method calls. This layer manages the complexity of making asynchronous calls over XMLHTTP, reducing a call to just a few lines of scripting code.
- A UI layer that provides a number of 'Atlas' client capabilities: behaviors, the 'Atlas' declarative syntax, UI components, and data binding.
- A controls layer that creates 'Atlas'-specific controls for client development. These controls can be data-bound, scripted, bound to 'Atlas' behaviors such as drag and drop, and so on. Controls include an auto-completion text box, a data-bound listview control, navigation controls, and more.
- A declarative programming model, which enables you to create 'Atlas' components in the same way you create ASP.NET server controls.
You can think of the 'Atlas' client script libraries as being a kind of subset of the architecture of ASP.NET on the server.
'Atlas' Server Components
- Web services that make available the following ASP.NET features: profiles, membership, roles, personalization, and globalization and culture-specific services.
- 'Atlas' server controls that resemble ASP.NET server controls, but emit 'Atlas' client script. 'Atlas' controls corresponds closely to the existing ASP.NET server controls, such as buttons, labels, options, text boxes, check boxes, hyperlinks, and validation controls. 'Atlas' server controls are useful if you already know server-side development well or if it is not practical for you to create 'Atlas' client scripts manually.
All 'Atlas' controls will be integrated into Visual Studio so that you can work with them in a designer just as you can with standard ASP.NET server controls.
To learn more about the 'Atlas' features and architecture, see ASP.NET Atlas Overview. To work with the 'Atlas' preview, try the walkthroughs listed in the "See Also" section of this topic.