Archive for the ‘Windows Azure’ Category

Silverlight or JQuery

Thursday, February 25th, 2010

Establishing the criteria for a new application is a hard thing, if you choose poorly you may not contend well against your competition.  However, if you choose right, or choose something that will let you be unique you may stand a chance.  That is the decision I had to make, do I want to use Silverlight 3 which is completely new to me, or do I use JQuery which I have substantially more experience using.  I want to offer a rich user experience, but I also do not want to slow the user down.  I have already looked at adoption rates for Silverlight worldwide we are looking at 41% as of January 2010.  That is pretty substantial but no where near 100%, or 90% which is where Flash/Flex is currently.

Normally the choice between Silverlight and JQuery won’t be as ubiquitous as it is here, they server different purposes, but their feature set does overlap in several areas.  Silverlight offers a very rich user experience, and a very powerful subsystem, being able to utilize the .NET Framework.  You do not get the full framework, but you do get a pretty substantial subset of it.

The difficult choice I have is can I accept the fact that users have to download a plugin?  Can I also accept the fact that in some rare instances Silverlight can be sluggish from my experience, since it relies on the client to render.  While both rely on the client, in most cases I have never found JQuery to be that bad, additionally there is a pretty big upfront cost for choosing Silverlight.  The Silverlight package must be downloaded to the client, there are some techniques out there to optimize this by only loading what you need to up front and then loading the rest later when its needed, etc.  Lastly there is the problem that Silverlight does not support Linux, and has some hacked support for Google Chrome which I have found mixed results with, but the majority of the time it works.

I think ultimately my decision is going to be to rely on the JQuery Framework and its rich UI plugins.  I have experience with this, and the ASP.NET MVC stuff works well with it.  Also since I am going to rely on Windows Azure as the hosting platform, if I chose Silverlight I would have to build a messaging system using WCF so that Silverlight could talk to the Azure Platform API’s since they do not at this time have an API set that works with Silverlight.  I feel like I am limited a bit using JQuery and HTML however, so I may use a mix of the two for certain situations when the need arises.