
With Silverlight, Microsoft has delivered a robust ecosystem for Rich Internet Applications that includes a platform, development tools and hosting services to build and run graphical and event driven applications on the web.
Platform Architecture ( Extracted from MSDN )
The Silverlight platform as a whole consists of two major parts, plus an installer and update component:
The core presentation framework
Components and services oriented towards the UI and user interaction, including user input, lightweight UI controls for use in Web applications, media playback, digital rights management, and presentation features, including vector graphics, text, animation, and bitmaps. Also includes a DOM API for the Silverlight presentation Canvas and Extensible Application Markup Language (XAML) for specifying layouts.
The .NET Framework for Silverlight
A subset of the .NET Framework that contains components and libraries, including data integration, extensible Windows controls, networking, base class libraries, dynamic language compilation, and the common language runtime (CLR).
The installer and updater
An installation and update control that eases the process of helping first-time users install the application, and provides for low-impact, automatic updates later on.
Silverlight is a Competitor to Flash/Flex
The core presentation framework/runtime of Silverlight places it in direct competition with Flash. A write up from Jesse Ezell, an experienced developer comparing both technologies on aspects such as animation, shapes, text, video /audio, scripting languages and development Tools is available here.
Per the comparison, Silverlight does out score Flash/Flex in most respects, with its main challenges being adoption by end users and designers. Microsoft with its software distribution capability is very likely to make end user (anybody who browses the web) adoption a reality and a non issue. Its main challenge lies in convincing designers (as opposed to developers) to switch from Adobe Flash to Silverlight.
Silverlight fulfils the promise that Java Applets failed and Java FX aims for
By integrating the CLR and the .NET Framework components and a rich and easy to use presentation framework, all from within the browser, Silverlight fulfills the promise of building Rich browser based applications that Java Applets initially set out to deliver.
Microsoft has essentially delivered a product that merges the rich presentation capabilities in Flash and the robust managed runtime of a Java browser plugin. Initial reactions are that it has done a decent job.
Proof of concept
A few engaging examples / demos of the technology in action were presented at the MIX 07 Conference with BBC, CBS and Netflix presenting their early implementations of this technology.
These are available on the Microsoft website in the showcase section.
Silverlight Streaming services
In addition to the platform, Microsoft is delivering a service called Silverlight Streaming and it allows users and developers to host their Silverlight content and apps with Microsoft, taking advantage of their extensive global network of datacenters and their content delivery network.
Summary
Silverlight is a technology that was waiting to happen. The fact that it took so long and is actually coming from Microsoft is surprising. Finally, internet applications can sport the same sleek and nimble interface as desktop applications with a very important side effect being that UI developers now no longer have to master two different skill sets for building desktop UI versus web-based UI (as Silverlight is part of the broader Windows Presentation Foundation framework that is available on the desktop).
However, the challenge for Silverlight will be two fold :
1. Convincing designers that its development tools are better/equally easy to use compared to those for Flash
2. A majority of the corporate applications are deployed on J2EE for the reason that it is not proprietary and would not mean a lock-in into the Microsoft platform. Convincing IT managers of these applications to hire / retain a UI development team with a completely different “Microsoft” skillset will be a challenge with Java FX still holding out a ray of hope for the Java platform.
Resources:
1. Introduction to Silverlight from Microsoft


