Recently there has been much talk and rumours of Microsoft discontinuing Silverlight keeping in the tradition of speculating over the Flash vs. Silverlight vs. HTML 5 battle. The thing is; it is an imaginary struggle. It results from our deep seated need to keep things simple and 'black and white'. Sure it's fun to indulge in a bit of 'this house believes' style debating where you have to vote for or against; but I'm not doing that here.
Microsoft has been fairly clear in their direction of Silverlight over the last year; Silverlight is aimed primarily at 'Line of Business Applications' and 'Premium Media Experiences'. Perhaps one reason for there being so much speculation and confusion is down to the complex make-up of Silverlight. Unlike Macromedia's Flash it's not an all-or-nothing technology but rather a combination of many pivotal technologies such as XAML, the .NET Framework and the Command Language Runtime.
- Rumour 1: There will be no Silverlight 6 – Does that matter? The CLR, .NET Framework and XAML are here to stay for a very long time. It could be that Silverlight will be 'merged' into Microsoft's new WinRT platform emerging from the Metro Design Language and Windows Phone 7 (WP7). I think I might start referring to Silverlight as 'XAML User Interface' until the future is cleared up.
- Rumour 2: Support for browsers other than Internet Explorer will be dropped from Silverlight 5 – With Silverlight 5 RTW scheduled for the end of 2011, the beta does provide support for browsers other than IE. But from a Dynamics CRM perspective today, even if support for other browsers was dropped it wouldn't matter. After all, the Dynamics CRM connector for Microsoft Outlook doesn't run on other Operating Systems and the web client only supports Internet Explorer. There have been reports of future versions of Dynamics CRM running on other browsers in the 12+ month time frame. A re-write of this kind would be a huge and exciting investment from Microsoft. It will be interesting to see what other user interface enhancements will be made during the process; we might see full HTML 5 developer productivity tools for ISV client extensions. If this happens, then the story for XAML based client add-ins is somewhat diminished, but it doesn't go away, especially if you are targeting clients that you know will be running on a Microsoft Windows platform.
- Rumour 3: Microsoft will stop producing hot-fixes and service packs for Silverlight - Microsoft are staying silent on the future of Silverlight at the moment, but simply taking the status-quo, we can expect mainstream support for at least 2 years after release date (taking us into 2014 for Silverlight 5), with extend support producing high priority security vulnerability fixes well beyond that. Microsoft has invested hard in dispelling their now out-of-date reputation of not taking security seriously, and they are not about to jeopardise that now. As far as the 'Premium Media Experiences', with truly mass-market companies such as Netflix and LoveFilm investing heavily in Silverlight, Microsoft will be forced to produce a clear migration path to what-ever the V.Next is going to be.
So back to reality; the huge productivity gains to be found from using Silverlight today as your user interface for Dynamics CRM 2011 cannot be ignored until HTML5 XRM developer tool support catches up. I challenge anyone to write a complex piece of user interface code in HTML 5 for Dynamics CRM 2011 in less time than it would take me in Silverlight!
So in summary, the reasons today to use Silverlight compared to ASPX pages are:
- Silverlight can be seamlessly deployed as part of a CRM 2011 solution.
- Authentication and Authorisation is seamless with Silverlight, where as ASPX pages need to be deployed as a separate web applicaiton using federated Claims Based security when integrating with CRM Online/IFD.
- If you have Silverlight skills, it gives a much richer user interface in considerably less development time.
If the developer experience for HTML5 applications catch up with Silverlight, these points could easily apply as well.
Here is a little taster of a Dynamics CRM 2011 Ribbon Designer tool that will be released early next year – you've guessed it – written in Silverlight 5.
Provided we write our apps with good separation of concerns using the MVVM/MVC paradigm, whatever the future holds, we'll be ready.