Silverlight – What Are Silverlight and WCF RIA Services?

silverlightwcf

I asked a question here on programmers yesterday about learning HTML & CSS and the community was pretty generous to provide great answers. One of the answers was given by Emmad Kareem and that was : "if you can't do HTML, don't give up. Consider using Silverlight".

This answer made me visit Silverlight.net and I came across the terms WCF RIA Services, Silverlight applications. After going through the website and some articles on website i am unable to draw a conclusive understanding on what this is all about.

Is this another way of building websites using .NET, and is just like another framework like ASP.NET MVC3. What scenario's and requirements are basically targeted to silverlight applications or we are free to use either of Asp.net MVC or Silverlight in any web-application requirements.

Best Answer

On Silverlight, Wikipedia tells us (emphasis mine):

Microsoft Silverlight is an application framework for writing and running rich internet applications, with features and purposes similar to those of Adobe Flash. The run-time environment for Silverlight is available as a plug-in for web browsers running under MS Windows and Apple OS X.

And on WCF RIA Services, MSDN tells us (emphasis mine):

WCF RIA Services simplifies the development of n-tier solutions for Rich Internet Applications (RIA), such as Silverlight applications. ... To create the best user experience, you want your RIA Services client to be aware of the application logic that resides on the server, but you do not want to develop and maintain the application logic on both the presentation tier and the middle tier. RIA Services solves this problem by providing framework components, tools, and services that make the application logic on the server available to the RIA Services client without requiring you to manually duplicate that programming logic. You can create a RIA Services client that is aware of business rules and know that the client is automatically updated with latest middle tier logic every time that the solution is re-compiled.

Silverlight is an application development platform that's very similar to Adobe Flash and WCF RIA Services is a set of components and a software development toolkit that provides for Silverlight applications to maintain the application logic on both the presentation tier and the middle tier.

The main difference between Silverlight and ASP.Net is that Silverlight applications are vector applications that require a browser plugin to work, whereas the final product of applications built on ASP.Net (what reaches the browser) is a combination of HTML, CSS and JavaScript. Silverlight does not directly compare to ASP.Net MVC, but WCF RIA services might as like ASP.Net MVC is a framework that extends its target platform.

As for the various terms you mention, Silverlight applications are of course applications built on Silverlight, and WCF RIA Services applications or WCF RIA applications are applications built on Silverlight that utilize the extended functionality of WCF RIA Services.

You can watch this interesting video and read this related StackOverflow question to learn more about WCF RIA and you can download the stand alone installer for the WCF RIA toolkit from silverlight.net. By the way, WCF stands for Windows Communication Foundation.

Related Topic