Silverlight represents a web application framework explicitly configured for client-side coding, offering a thorough set of rich internet application options. These include support for multimedia, graphics, animations and interactivity bundled into a single runtime environment. Codenamed WPF / E (Windows Presentation Foundation / Everywhere), Silverlight shares the XAML presentation layer with WPF, thus obtaining a technical versatility in building rich user interfaces.
What Silverlight brings in addition to the newer client-side technologies is a rich framework library of native classes used for developing browser-based apps. This framework library includes a subset of the complete.NET server-side framework class library, thus allowing developers to re-use existing skills and knowledge. By including support for a WPF user interface programming model, Silverlight enables developers to program an UI with managed code or event handlers, supporting the ability to define and use encapsulated UI controls that are built with any managed.NET language.
Basically speaking, Silverlight works on a built-in CLR engine that delivers a high performance execution environment for the web browser. By using the same core CLR engine from the.NET framework, it delivers the same type-system, garbage collector and JIT code generation engine used by current.NET code users. In this way, developers can write.NET code that runs the same in Silverlight, ASP.NE and WinForms / WPF apps, without ulterior modifications to the code.
Regarding server limits, Silverlight does not require ASP.NET to be used on the backend web server, meaning that it can be used, for example, with PHP on Linux. It can also be easily integrated on the client and ASP.NET together on the server. The Silverlight plugin can also use standard ASP.NET application services, such as memberships, profiles, etc., while being able to call WCF or ASMX web services hosted within ASP.NET.