If you enabled the Microsoft Ajax Library, a new lifecycle starts on the client
side. As soon as the browser loads the main script file, MicrosoftAjax.js, the client
runtime creates a global JavaScript object—the Application object—and
stores it in a global variable called Sys.Application.This new object becomes the brains of a web page in the browser. Despite its
name, it plays a role similar to the Page object on the server side. Once the Page
object is done on the server side, the processing on the client side is delegated to
Sys.Application.
<br />
Providing a centralized place to execute the client code—This goal is reached by
defining a custom page lifecycle on the client. As you’ll see in a moment,
the client page lifecycle starts when the browser loads the page and ends
when the user navigates away from the page or the page is reloaded. When
each stage in the lifecycle is entered, the Application object raises a corresponding
event.
<br>
Hosting the client components instantiated in the page—Once instantiated, client
components become children of the Application object and can be easily
accessed through the Application object. Also, they’re automatically disposed
by the Application object when the web page is unloaded by the browser.
<br />
The primary tenet behind components is code reusability. Components implement
a well-defined set of interfaces that allows them to interact with other components
and to be interchanged between applications. Thanks to the base
interfaces, the code encapsulated by components can change at any time without
affecting the other processing logic.
<br />
The Microsoft Ajax Library provides specialized client classes that simplify the
authoring of client components. The group of classes related to component
development is called the client component model and closely mirrors the model in
use in the .NET framework. In this way, you can write component-oriented client
applications using JavaScript code.