As started earlier, silverlight was previously known as WPF/E because it is a subset of WPF, inheriting many functionalities of WPF. For example, Silverlight supports XAML, 2-D vector graphics, animations, and multimedia. However, certain features, such as 3-D graphics and hardware rendering of WPF, are not available to Silverlight. You may wonder about the difference between XAML browser Applications (XBAPs) in WPF and Silverlight. One of the notable differences between the two is that XBAPs can run only in Internet Explorer and firefox, whereas Silverlight applications can run in multiple Web browsers. Secondly, XBAPs require .NET Framework to be available on the users’ computers, while Silverlight provides the necessary components on itsown and does not need .NET Framework. Thirdly, an XBAP has access to the computer WPF functionality, while a Silverlight application has only limited WPF functionality.
The first version of silverlight unveiled by Microsoft was Silverlight 1.0. this version was released in 2007 and was based on the JavaSript application model. You could incorporate the functionality of Silverlight 1.0 in .NET Framework 2.0 and Visual Studio 2005 applications. Now, let’s go through these main features of Silverlight.
Improved Programming Model
Silverlight technology supports the .NET Framework programming model to develop Silverlight applications easily. Silverlight leverages many functionality and features of .NET Framework, such as type safety and exception handling. It also includes many classes from the base class liberary, and offers you the provision of working with IO, collections and generics, and threading. You can use any of the .NET languages, such as VB and C# to develop Silverlight applications. You can also use other dynamic language such as IronPython and IronRuby. Furthermore, you integrate Silverlight functionalities with the existing ASP.NET Web applications. You can combine ASP.NET AJAX and Silverlight to get the best of both the technologies. Silverlight also supports language Integrated Query (LINQ) to objects, which facilitates you to work with various types of data in the Web applications.
Comprehensive UI Framework
Silverlight has a comprehensive UI framework to allow you to design the UI of Web applications by using the predefined controls, styles, themes, and templates. Silverlight offers a wide range of controls and layout features to build exceptionally attractive Web applications. Most of the controls and layout features are the same as those available in WPF. For example, the Grid, StackPanel, Calendar, Button, TextBox, and RadioButton controls of WPF are also available in Silverlight. You can also use styles and control templates in the Silverlight applications. Moreover , there are additional controls, such as MultiScaleImage that are specific to Silverlight. You can also use the data binding and data manipulation controls, such as DataGrid. These new controls were designed from scratch to give an extra edge to the Web applications.
These predefined Silverlight controls and layout features help you to quickly and easily develop some high-end Web applications. You can set the properties of these controls to get the desired effect. Note that these properties can also be set using XAML. XAML is the facilitator for separating the design and the code of Web applications.
Support for Deep Zoom Technology
Silverlight includes a new feature called Deep Zoom, which allows you to zoom high-resolution images in the applications. You can use the Deep Zoom technology to deliver unbelievably creative and uniquely interactive Web applications. With the Deep Zoom technology, you can easily, quickly, and smoothly zoom in or out multiple photographs simultaneously. You can see a highly detailed and fine view of the photographs by using the MultiScaleImage control available in Silverlight
Support for 2-D Graphics, Animations, and Multimedia
Silverlight has built-in support for using 2-D vector graphics and animations in Web applications. You can create 2-Dshpes, such as rectangles and ellipses, geometries, and brushes. You can also transform and animate the shapes and geometries. In addition, you can make your Web applications dynamic by using storyboards controlling the animation timeline and speed, and much more.
There is an extensive support in Silverlight for captivating multimedia experience on the Web. You can include .jpeg or images in the applications to give them an attractive UI. In addition, Silverlight supports various multimedia formats, such as .wma, .wmv, and .mp3 and has some of the essential codecs for playing back multimedia content. You can also use High-Definition (HD) quality video (up to 720p) in Silverlight applications. Silverlight also offers protection through authentication and authorization of users and Digital Rights Management (DRM) for the multimedia content that you add to your Web applications.
Support for Networking
Silverlight contains classes to support networking and predefined sockets. It allows you to use various HTTP, XML, RSS and REST services. Furthermore, you can use an XML format to use the data and resources on other web sites. Silverlight extends the cross-domain support for networking. You can also use Silverlight for communication with sockets over standard network protocols, such as IPv4 and IPv6.