Since 2007 Silverlight has been popping up on sites and become a powerful tool for dynamic, robust web development. More and more companies are deciding to deliver content using this technology to generate interactive and captivating web experiences. From an end user’s perspective it’s as simple as downloading a small plug-in (which now comes installed on Windows 7) and the web lights up. But what about developing for Silverlight? I’ll give you some first hand recounts of ups and downs of development using this new and emerging technology.
Since that humble 1.0 application, I have completed several other projects of varying complexity. For ITGulfCoast.org, I added a home page animation with dynamic logos accessed via LINQ to XML with Using Visual Studio. Using Expression Blend 2.0, I was able to create/edit several storyboards with ease and call them dynamically from my code. For other sites I have created a dynamic training system to deliver audio/video training and testing to thousands of users. That application has multiple classes and elements to create a rich, robust experience for the user at a fraction of the development cost from the previous Flash method. All this was accomplished through the simple (in my opinion) development method of Silverlight.
Microsoft’s continuing development into the Silverlight toolset aids developers greatly. I personally use a combination of applications to complete my development. I prefer to do all coding in Visual Studio 2008, layout/design using Expression Blend 3, and video encoding using Expression Encoder 3. All of these have a family look/feel that .NET developers should easily be able to work with. I can quickly debug applications using Visual Studio to minimize downtime.
While Silverlight does allow rapid, dynamic development, it does have a few downsides that limit its use. First is the lack of database connectivity. Many developers find this is a severe hindrance. I typically will develop a web service for all of my Silverlight applications, which suits my needs well. Another issue the lack of printing support. This particular issue is to be resolved in Silverlight 4.0, but anyone who attempted this in previous versions got very familiar with web services and binary streams. There are several other nuances with Silverlight that developers have to conform to. While most of these are minimal, some find them to be too restrictive and bothersome.
Personally, I love developing in Silverlight. I find it very easy to accomplish nearly every task and the Expression Studio toolset is constantly being updated to provide more functionality. I find it much simpler than Flash development and the integration with Visual Studio allows me to quickly develop complex .NET code to accompany my applications. I look forward to future projects and the exciting enhancements to come.