It has been so painful to write the title above, but I have been asked the question above several times. The reason people are asking the question is simple. They have seen support introduced for Silverlight 4 in MSCRM 2011, they are aware of the upcoming of Silverlight 5 and HTML 5, which on the face of things look similar and so are asking the question whats best silverlight 5 or HTML 5.
Why is the question painful? Well it’s the wrong question! The question we should be asking exists in the context of a development project. For my given project can I achieve my requirements, while keeping the solution simple and maintainable through Silverlight 5 or HTML 5. This is obviously a question a developer is more likely to ask rather than a consultant, sales person, marketing manager or manager will ask. They are more likely to brisk over the details and simply say, Silverlight 5 does animations, HTML does animations, which one do we use?
I’m not going to get in to the technical details, theres plenty of blogged technical comparisons out there that demonstrate the differences, I’m going to keep it simple. I’m going to give you my opinion, so how do I answer the question?
They are two completely different technologies! Put aside the funky groovy animations that you have seen demonstrations of! Silverlight is an entire platform that sits on the Microsoft stack and offers increased efficiency and functionality by utilising the resources of your machine. HTML 5 is a markup language which is dependant on browsers implementation of the new standard. The standard has been updated to reduce the amount of plugins you need to install to handles things such as video.
So with CRM in mind if your application requires a lot of functionality that interfaces to your PC devices or interfaces to external system (web services, dlls) then silverlight is your port of call. If you are looking for client rich UI that is based on simple input then HTML 5 is the better option.
What do I think we will see in the future deployed in to MSCRM? The answer is both, hopefully deployed in the right scenarios. Personally I can’t see Microsoft dropping Silverlight as its currently integrated in to MSCRM, one of their main flagship products. It is also heavily used on the windows phone platform which is being marketed by Microsoft and Nokia. In phone development you have the choice of XNA for game development or Silverlight for application development. HTML isn’t going anywhere either. The standard just needs to be fully agreed and implemented by the browsers.
In the future I can see Silverlight moving on much quicker than HTML, offering new rounds of features quicker than HTML. A new feature in HTML will have to be approved and browsers will have to implement the new changes. For Silverlight all Microsoft need to do is update their silverlight runtime and deploy the update through a Windows Update.
I may have glossed over a lot of in-depth details between the two but my view point is simple. They are both here to stay and as developers we should embrace them both. We should be looking at our requirements independently and deciding which is the simplest solution to deploy. For now until the standard has been agreed for HTML 5 and implemented I personally will be using Silverlight. However, I’m looking forward to implementing my first HTML 5 solution within MSCRM.