Microsoft launched Silverlight as a part of its .NET development platform to offer enhanced media experiences and rich interactive applications (RIAs) for the Web. Primarily, Silverlight was introduced to contend with the Flash platform by Adobe, which dominates the multimedia and RIA world.
Both developers and users around the world have been very curious about comparisons between these two products.
Silverlight needs a small download to get installed upon the client machine, much like Flash.
For multimedia developers, Flash scores over Silverlight as it doesn't require everybody to be a trained software programmer to create simple multimedia applications in Flash. While Silverlight is
an in-built component of the Microsoft .NET development platform, hence needs a level of expertise to put the software into action.
Silverlight also doesn't support Linux, which makes it choice for only Windows and Mac users. Flash, on the other hand, provides full support to all the three platforms.
The Flash Video (.flv) format has become a very wide platform for serving online video today, with every big player such as Youtube, Dailymotion etc. relying upon it. The Flash video format also supports incorporation of rich media in the video. On the other hand, Silverlight still depends upon the Microsoft WMV format for video, that renders it useless for video solution providers.
As far as image formats are concerned, Flash supports all image formats, while Silverlight currently supports only JPG and PNG. Also, advanced image editing, filters and effects such as drop shadow, blur are offered by Flash, while Silverlight doesn't support them.
In Flash, all the vector, bitmap, animation and audio/video media is packed in a single file (.swf), which is played at the client machine, while Silverlight needs various components comprising of XAML files, .dll files, Silverlight.js and custom Javascript files to be shipped to the client machine
before the media is rendered. XAML is a text based object which can be rendered deploying an XML object.
On the animation side, Flash adopts a frame based animation model while Silverlight features a WPF animation model, which is time based and lets the users define the start and end conditions to the developers.