Silverlight is Microsoft’s solution to build RIA(Rich Internet Applications). It bridges the gaps between desktop and web applications. It provides the ease of deployment and updates with responsiveness close to the desktop applications.
It is has a runtime which is subset of CLR (Common Language Runtime). Silverlight is a plugin for browsers which run Silverlight applications in sandboxed environments.
Adobe Flash is the biggest competitor of the Silverlight. Latest statistics (before the release of Silverlight5) show that flash is installed on almost 60-70% of the computers in the world. Whereas Adobe Flash is installed on 95% of the computers. However when we compare the time duration in which Silverlight has gain popularity is far ahead of Adobe Flash.
Silverlight was initially developed for media applications like video,audio and vector graphics. But from version 3 it heavily turned its focus towards business applications.
It has rich support to build RIA applications, nice set of built in controls as well as huge collection of third party controls.
Silverlight is compatible with all major browsers (Internet Explorer 6+, Firefox 3+, Chrome 4+, Safari 3+) in two major operating systems, Microsoft Windows and Apple Mac. An open source plugin is also available for LINUX operating system by Moonlight project team. However there are some complexities in it, moonlight release is always after some delay after the release of the new version of Silverlight from Microsoft, also the sale of Novell to AttachMate put uncertainty on the future of moonlight project.
Windows Phone 7 operating system runs Silverlight based applications, even though these applications has similar code base but are built specifically for Windows Phone7 operating system. It means you can’t run a Silverlight application from a webpage even it has the same code that is used to build Windows Phone 7 application.
But this opens many exciting possibilities for sharing a large portion of code between Desktop and Windows Phone 7 versions of the applications.
Silverlight Runtime is almost 6.6 MB download, it contains subset of the .NET Framework and full implementation of the Common Language Runtime. It means you can right code in any .NET language.
Application code is compiled into assemblies which along with the XAML files and other resources are are packaged into a .XAP file. This file is then downloaded on the client machine and executed within the plug-in.
Silverlight applications can’t make use of assemblies that target the full .NET Framework.
Silverlight applications generally run inside browser but from version 3 applications can run out of browser like standard Windows and Mac applications. Meaning that you can place a short cut on the Desktop or on the start menu to launch the application. Application automatically updates itself when a new version is available on the server.
Initially Silverlight applications run in the sandobxed environment but from version 3 it can be installed out of browser but application could not do any thing with the user’s computer unwanted to make the applications more and more safe. In version 4 Silverlight applications can be installed out of browser with elevated trust permission and application was able to interact with COM.In version 5 Silverlight applications can make low level (P/I) calls to the platform even running inside the browser with elevated trust permissions so native windows code can be called from Silverlight applications.