Source: http://msdn.microsoft.com/msdnmag/issues/07/06/silverlight/default.aspx
1. Introduction.
a. Currently supports Mac OSX Safari and FireFox, Windows FireFox and IE
b. Can be interacted with by AJAX code.
2. Introducing Silverlight
a. XAML is text-based and exposes it’s DOM to the browser in a scriptable manner (therefore, it is “functional”).
b. The browser loads the XAML and creates a DOM that can be interacted with via script code, including modifications by script and event handling/processing. You may also interact with the XAML DOM through methods (such as methods that start playing, stop playing or pause a presentation).
3. XAML Overview
a. XAML was first introduced as part of Windows Presentation Foundation; though the XAML used by Silverlight is a web-based subset of the full XAML supported by WPF.
b. Silverlight XAML markup is based on the <canvas> tag; the “surface” upon which objects will be drawn.
4. Inside the XAML
a. There is support for pre-defined shapes, gradients, etc.
5. Transformations, Media, and Animations
a. XAML has built in support for transformations on objects (MatrixTransform, RotationTransform, ScaleTransform, etc).
b. MediaElement tag controls video and audio.
c. Animations are defined in XAML by how properties change with time.
6. A simple silverlight application
a. Currently silverlight.js is required to be located within the /js folder for your web application.
b. Sys.Silverlight.createObjectEx() implements a new silverlight control.
c. The silverlight plugin loads into a DIV tag with a unique ID.
d. Dynamic features can be added to the Silverlight application (such as the source for a particular video) but modifying the script that controls and instantiates the objects through the ASPX page’s rendered output.
7. Delivering XAML to the Silverlight Front-End
a. The server can process and build the XAML as needed; the Sys.Silverlight.createObjectEx() method simply takes this markup to load and instantiate the XAML as a silverlight object.