Part I – Silverlight and Flash/Flex
Recent experiences have allowed us to compare Silverlight to some other technologies for building web-based applications. This is the first in a three-part series on Rich Internet Applications. In the following blog posts, I’ll share some information about Silverlight versus current technology trends.
WTI has provided information technology services for a government agency client for about nine years. This agency uses a mixture of Adobe ColdFusion and Microsoft .NET applications, and we’ve worked on both. About a year and half ago, another contractor at the agency guided them towards using Silverlight to rebuild a key application.
This was part of an attempt to modernize their internal web applications to take advantage of more interactive, dynamic technologies that improve the overall end-user experience. Part of the idea was to make web applications behave more like desktop applications – to respond faster and to provide a “richer” user experience. This trend gave rise to an entirely new kind of web application termed a “Rich Internet Application” or RIA. Rich Internet applications are much more full-featured than “regular” web applications both in look-and-feel and functionality.
When the agency made the decision, Silverlight was one of the most reasonable options for implementing rich Internet applications. It was, after all, a Microsoft technology, so it made sense within a Windows environment. It leveraged their existing .NET developer skillsets, and it seemed to be on track to play an increasingly important role in both the web and within Windows. It was even used to write desktop applications.
There were other alternatives. Flash wasn’t originally designed to be suitable for developing applications. The problem wasn’t so much with the underlying Flash technology, but with the tools used to create Flash applications. Flash’s primary tools were organized around a movie paradigm – the result was even referred to as a “Flash movie.” Things that appear on the screen to the end user are laid out against a “timeline” which is analogous to a movie filmstrip. The development interface and the whole approach were very natural for people creating animations or movies to run on the web because it starts, runs for a while through a series of relatively fixed events, and then ends. This is not how developers think or need to work.
Adobe recognized this issue some years ago and addressed it by adapting the underlying Flash technology into a product called “Flex.” Flex has all the advantages of Flash but is friendly for developers.
In fact, Silverlight and Flex are very similar both in terms of the problems they try to solve and the way you code in them. It is possible that Flex actually came first so Silverlight may have been patterned in part on it.
It is important to note that both Flex and Silverlight require a plug-in for the browser in order to function. A strong argument for Flex is that its plug-in is available in upwards of 95% of all browsers. Silverlight penetration is significantly lower but is still a viable option.