Silverlight: Overview


Silverlight is a cross-browser, cross-platform browser plug-in to create Rich Internet Applications with support for vector and bitmap graphics, animation, and media playback. Silverlight applications consist of two main parts, the UI declaration using XAML and the program code. Silverlight is a subset of the Windows Presentation Foundation available in the .NET Framework 3.0.

Programming Prerequisites

  • Silverlight 1.0
    • Working knowledge of JavaScript
    • XML basics
  • Silverlight 2.0
    • Working knowledge of .NET and a managed language of choice
    • XML basics

Supported Client Platforms

  • Windows 2003/XP/Vista
    • Internet Explorer 6/7
    • Firefox 1.5/2.x/3.x
  • Windows 2000. Silverlight 2.0 only.
    • Internet Explorer 6
    • Firefox 1.5/2.x/3.x
  • Macintosh OS X 10.4.8+. Note! Silverlight 2.0 only runs on Intel processors.
    • Firefox 1.5/2.x/3.x
    • Safari 2.x/3.x
  • Linux, Project Moonlight (announced)
    • Firefox
    • Konqueror, WebKit, Opera (planned)

Mobile support has also been announced, but details are currently limited.

Supported Server Platforms

Supported web servers must be able to deliver .html, .js, .xaml, .zip, and .xap / .dll (Silverlight 2.0) files along with any desired media assets. This includes Apache, Microsoft IIS, and other web servers. See Silverlight Server Requirements for more details.

Silverlight 1.0 and Silverlight 2.0

Silverlight 1.0 and the following releases share similarities in terms of using XAML as the declarative markup language, but differ vastly in their programming model.

  • Silverlight 1.0
    • Uses the browser's JavaScript engine for all code execution.
    • Is essentially a rendering and media playback engine.
  • Silverlight 2.0
    • Programmed using managed code running on the .NET managed Common Language Runtime (CLR).
      • Many languages to choose from: Ruby, Python, C#, Visual Basic, JavaScript, and more.
    • Client application level performance.
    • Expanded feature set.
    • Backwards compatible with Silverlight 1.0.

Design & Development Tools

The minimum requirement to develop Silverlight 1.0 applications is a text editor. Silverlight 2.0 runs managed code which must first be compiled. Free .NET compilers are available in the .NET Framework SDK. However, there are many tools for both designers and developers available on the Windows platform.

Silverlight 1.0 and Case-Sensitivity

Please note that while XAML is case-sensitive, JavaScript used to script Silverlight 1.0 is not. This means you will have to make the decision whether to use JavaScript style camel-casing on method and property names (object.theMethod) or .NET style Pascal-casing (object.TheMethod). If you intend to port your Silverlight 1.0 application to 2.0, you may wish to use Pascal-casing to remove one extra step.

Our samples use Pascal-casing as this is the format used in the Silverlight SDK documentation method signatures (but not examples!) and this is what you'll see in Silverlight 2.0.

Further Reading

Related information on the web is listed below.

Yahoo Forum Discussions