Asp.Net Ajax and Silverlight are the two main Microsoft platforms for developing Rich Internet Applications (RIA). The Ajax vs. Silverlight debate is an ongoing one in the IT world. Which one is the winner? In this article, we will take a look at the differences between the two technologies and determine which works best for developing RIA.
To start, Asp.Net Ajax has a few things going for it. It is widely used by developers as it is easy to learn and has many asp.net server controls that provide ajax ui such as Telerik and jQuery. When it comes to overall control, Ajax Asp.Net supports server side controls efficiently.
However, even though it comes with a control toolkit, it is not helpful with client side controls. The control toolkit mostly provides server based extensions. They're fine if you are working with asp.net server controls, but useless if you are working pretty in the client.
Silverlight, on the other hand does not leave you in the dark. It provides out of the box controls for developing websites. It offers rich controls that are compelling, powerful flexible and skinnable which supports data binding sturdy. This enables the growth of the Third party applications.
Reach or Rich:
When it comes to reach, however, Ajax has the advantage. That's because Ajax Asp.Net is supported by all the commonly used modern browsers such as IE, Firefox, Safari, Chrome and more. As a result, accessibility is not a problem, and this supports the growing use of Ajax.
The problem with Silverlight is that it requires installation. In essence, Silverlight is a lot like Flash when it was newly introduced. In fact, the position of Silverlight is somewhere the same as that of Flash when it was newly introduced. UI automation features give Silverlight good accessibility but it is still not as good as Ajax. Finally there's the implementation issue. It's going to take a while for corporate networks to roll out builds that include Silverlight.
Interaction With Services:
Ajax Asp.Net offers a limited support of services such as Asmx, WCF, and Basic Http Binding. Also, it does not provide any direct domain support from the client and it is mainly supported through ScriptManager Service reference.
In contrast, Silverlight provides support for several services such as Asmx, WCF including SOAP, REST along with Add Service Reference (ASR), WebClient, Http WebRequest, Sockets, Ado.Net Data Services and much more.
So, Silverlight has the upper hand when it comes to interaction with services, as it offers all-round support better that Ajax Asp.Net. And that support is only going to get better.
There's no doubt that almost all popular browsers support Ajax Asp.Net. It certainly has impressive results on popular browsers such as Google's Chrome and IE8, as they support JS / DOM efficiently.
Neverheless, Silverlight is a clear winner when it comes to performance, as it has accepted managed code. It also gives you control over the deployment environment.
With its overall better performance and features, Silverlight is the most promising platform for the future. It is just a matter of time before it surpasses Ajax Asp.Net in popularity.