Unlike ASP.NET, the bulk of Silverlight processing occurs on the
client machine thus decreasing server resource utilization and improving
the Web experience on the client. The figure below shows the difference
between ASP.NET processing and Silverlight processing:
When a client initially attempts to run a Silverlight application,
if the Silverlight plug-in has not been installed on the client machine,
it will be downloaded and installed. Upon subsequent requests to run
the application, the application will instantiate on the client machine
and make requests for resources from the server only when necessary. The
Silverlight plug-in can be thought of as a scaled-down version of the
full .NET Framework. It only contains those classes and functionality
that are applicable to a Silverlight Web client and those were
streamlined and optimized for use on the Web client machine.
Silverlight was designed using the same design paradigm as ASP.NET.
Each page of a Silverlight application includes an associated code
behind file that includes the code that handles events fired by the
page. Silverlight resembles WPF in that it uses Extensible Application
Markup Language (XAML) to construct the user interface (presentation
layer). As Silverlight applications are composed of text-based files
that include markup and code, they can be created using any text editor;
however, more advanced tools and development environments such as
Visual Studio or Expression Blend simplify the task significantly.