In the Part I, I talked about RIA. In this part we will look for the need that gave rise to a new technology "Silverlight". The following figure shows the presentation and programming model for the web.
fig: Presentation and Programming model for the web
You can see in the figure, to develop desktop application XAML is used for presentation and .Net framework for programming. The desktop applications have the power of .NET framework. On the other hand, to develop desktop application CSS/DHTML/HTML is used for the presentation and JasvaScript/AJAX/ASP.NET for programming. Although AJAX brings the feel of RIA to the web applications, it is purely browser-server communications i.e it helps to eliminate the flicker [flicker is when you click on some link the page is blank for some time till the data is received from the server.Not the photo sharing site ;-) ] but it does not provide rich User Interface (UI), high multimedia content etc (as XAML does in desktop applications).
Silverlight combines the best of both worlds (desktop and web). XAML is used for presentation and AJAX/.Net framework(from Silverligt 2.0 onwards) for programming. There is a particular value in the combined set of tools, technologies, and services included in the Silverlight platform: They make it easier for developers to create rich, interactive, and networked applications. Although it is certainly possible to build such applications using today's Web tools and technologies, developers are hindered by many technical difficulties, including incompatible platforms, disparate file formats and protocols, and various Web browsers that render pages and handle scripts differently. A rich Web application that runs perfectly on one system and browser may work very differently on another system or browser, or may fail altogether. Using today's large array of tools, protocols, and technologies, it is a massive and often cost-prohibitive effort to build an application that can simultaneously provide the following advantages:
• Ability to create the same user experience across browsers and platforms, so that the application looks and performs the same everywhere.
• Integration of data and services from multiple networked locations into one application using familiar .NET Framework classes and functionality.
• A media-rich, compelling, and accessible user interface (UI).
• Silverlight makes it easier for developers to build such applications, because it overcomes many of the incompatibilities of current technologies, and provides within one platform the tools to create rich, cross-platform, integrated applications.
I think, we are now clear on why there was need for another technology and the reason for the existence of Silverlight.
In the part III we will actually see what is Silverlight?