Previewing the Future of Silverlight
The next burning question, of course, is where Silverlight is going. As usual, predicting the future of any technology is a difficult exercise, as the past few years have proven. The situation on the .NET front is a bit clearer now than it was two years ago, though; so what did we learn?
- Silverlight has strong support at Microsoft. They are pushing it very hard; they release new features at a fast pace, and managed in just a few years to create a very rich framework. This is not going to stop with Silverlight 4; more is coming.
- A convergence is occurring between Silverlight and WPF. More and more features are shared. The movement is toward compatibility, with Silverlight becoming a complete subset of WPF. Not just compatibility of interfaces, but also binary compatibility. We will probably see this happening in the next few years.
- There is already a large adoption of Silverlight by developers and firms worldwide. We saw lots of interesting projects in the past few years, and more are coming. We also see a lot of firms that were reluctant to move to WPF embracing Silverlight for their rich application development because it is easier to learn.
- Finally, the installation base has literally exploded, going from approximately 25% for Silverlight 2 to 60% for Silverlight 3 and 4. The smooth update mechanism makes it painless to upgrade Silverlight if needed; and as new applications are being published on the Web, more users are installing Silverlight to access them.
Here's a quote from Pete Brown, who works for Microsoft as client application evangelist (http://www.galasoft.ch/sl4-convergence):
- In the future, it is very likely that both Silverlight and WPF will be a single technology with a single codebase.
So here it is, the probable future of Silverlight and WPF: A continuum framework that can be used on the desktop (very rich clients with full features / rich clients with fewer features and permissions) and in the web browser (very similar to what we have now, but with added functionality).