Silverlight: The New Contender
By Jonathan Goodyear
If you thought innovation was dead at Microsoft, think again! After lying relatively dormant for a few years, the Redmond giant has released a litany of new tools and technologies over the course of the past several months. Between Windows Vista, .NET 3.0, SharePoint 2007, and Office 2007, it has been quite a wild ride. It kind of makes me nervous about taking a vacation later this month everything might be different by the time I return!
The latest marvel to be released is Silverlight, which is a cross-browser, cross-platform .NET runtime and framework that allows you to create media-rich user interfaces and experiences using Windows Presentation Framework (WPF) leveraging any .NET language (http://silverlight.net). That s quite an accomplishment, and tackles just about every argument that developers previously used to justify using Flash. It also improves upon many of Flash s shortcomings, and runs using the real CLR, so performance is fantastic (http://weblogs.asp.net/jezell/archive/2007/05/03/silverlight-vs-flash-the-developer-story.aspx). I won t get bogged down too much here explaining everything that Silverlight offers and can do, as there are already plenty of print and online resources to guide you. Instead, I d like to shed some perspective on the morass of options that you now have to Web-based applications on the Microsoft stack.
We pundits are a fickle bunch, aren t we? Less than a year ago, it was all Ajax, all the time (http://aspnetpro.com/opinion/2006/07/asp200607jg_o/asp200607jg_o.asp). A couple of years before that, many people (not me, thankfully) announced that SmartClient applications using ClickOnce deployment signaled the end of Web-based line of business applications. What s a developer to do with all these choices?
Despite their similar feature sets and goals, there are still enough differences between ClickOnce, Ajax, and Silverlight to justify each one s existence. For instance, if your application needs to interface with Microsoft Office or specialized hardware, then SmartClient is still the way to go. IDesign Chief Architect and fellow Microsoft Regional Director Brian Noyes gives a few other scenarios that would necessitate the use of SmartClient over Silverlight:
Silverlight still suffers from one of the big shortfalls of browser based apps your whole UI is shipped over the network each time instead of being resident on the client machine and is not resilient to intermittent connectivity glitches or usage in offline or occasionally connected scenarios. I don t believe Silverlight will solve the problem of getting a 404 because the network burped. Two other reasons are the need to consume services other than ones you expose on the same web site and client-server architectures for small scale apps working directly against a database.
There are reasons to go with Ajax, as well. For instance, you can easily use Microsoft s Ajax controls to quickly add Web 2.0 features and behavior to existing Web applications. Using Silverlight would require a completely fresh approach to your Web application, unless you are currently developing a WPF application from which you can borrow. Silverlight is very leading edge, and while based largely on WPF, it is still going through some growing pains like the current sparse set of controls that come out of the box. Ajax also has the advantage that it is a more mature Web technology and has a smaller learning curve for existing ASP.NET developers.
So, what about Adobe s latest technology, Apollo (http://labs.adobe.com/technologies/apollo/)? The reality is that Apollo is more akin to SmartClient technology than Silverlight, except that Apollo is cross-platform. Apollo is a compelling option, but for developers who are already deeply invested in Microsoft and the .NET ecosystem, Silverlight offers the capability to leverage more of their existing skill set. Microsoft usually has the best tool support in the industry, as well, which is always a big plus.
I wouldn t be surprised to see 90% or more of all line of business applications on the Microsoft platform previously developed using ASP.NET being developed using Silverlight going forward. It offers an added layer of interactivity that is very difficult (sometimes impossible) to achieve using previous Web technology. I strongly encourage you to get up to speed with Silverlight as soon as possible. It is a technology that is going to have a sweeping effect on the job market. If you missed the wave of early ASP.NET adoption, you won t want to miss out again.
As a final note, Microsoft released the Silverlight Streaming service as part of Windows Live at the same time they announced the Silverlight application framework (http://silverlight.live.com). Essentially, Silverlight Streaming offers 4GB of free storage, and streaming services to host rich media to complement your Silverlight applications. It s a great way to learn and cost-effectively build Silverlight applications today. Let s hope that Silverlight marks the beginning of a new generation of highly functional and visually appealing Web applications.
Jonathan Goodyear is president of ASPSOFT (http://www.aspsoft.com), an Internet consulting firm based in Orlando, FL. Jonathan is Microsoft Regional Director for Florida, an ASP.NET MVP, a Microsoft Certified Solution Developer (MCSD), and co-author of ASP.NET 2.0 MVP Hacks (Wrox). Jonathan also is a contributing editor for asp.netPRO. E-mail him at mailto:soft.com or through his angryCoder eZine at http://angryCoder.com.