We have good news : everything you learnt about the Web applies to Silverlight development since Silverlight is an ActiveX which integrates with the HTML Document Object Model (DOM) and JavaScript both ways (ie, a Silverlight component can be exposed to JavaScript, and some Silverlight Business Logic can call Javascript).

A Silverlight application comes as a XAP archive (ZIP format) delivered as a resource on a HTTP Server which is referenced as the Web Site of Origin.

Developing a Silverlight application involves several skills :

  • XAML for Presentation,
  • a programming language for the UI Interaction & Business Logic (JavaScript, .Net and Dynamic languages)
  • Web Services knowledge to expose your data to the Silverlight client through the HTTP protocol (the style is opened SOAP/RPC or XML/REST)

XAML is an open specification (par of Microsoft Open Specification Promises - OSP) that enables declarative programming. A Silverlight XAML code create a hierarchy of components connected through by properties and events bindings.

<UserControl>

   <StackPanel Background="Turquoise">

          <TextBlock Text="Hello World"/>

          <Button  Content="Click me/"/>

    </StackPanel>

</UserControl>

image

When it comes to programming, Silverlight V1 is restricted to JavaScript, whereas Silverlight V2 come with its .Net runtime (a lightweight CLR) and a Dynamic Language Runtime(DLR). Therefore, you get multiple development language options : JavaScript, C#, VB, Ruby and Python so far.

Silverlight conforms to Web Services standards (HTTP protocol, SOAP and XML formats). Yet, it brings its own restrictions and complements. These points will be largely discussed on this blog.

That said, we are ready to start the journey ... in our next post A cup of Silverlight, a drop of Architecture

  • Ressources

Silverlight Poster, Silverlight Deep Zoom Poster

Silverlight Architecture Overview on MSDN