Published: 14 Sep 2007
By: Dino Esposito

In this short writeup Dino Esposito introduces Silverlight, the new Microsoft platform for creating RIAs.

It was just a few weeks ago when Microsoft released the first release candidate (RC) of Silverlight, formerly known as WPF/Everywhere. As a software product, Silverlight seems to have a curious relationship with its own fate. Here are a few points to think over:

  • Everybody agrees that Silverlight rocks and is going to have a brilliant future. Some even arrive to state that it is one of the pillars on which future applications will be built;
  • Nobody (hopefully, outside the circle of the various program managers) could today honestly say more about the shape and contents of such a "guaranteed" brilliant future;
  • Silverlight is the first soon-to-be product that is kind of publicly declared obsolete before reaching even the Beta stage of its version 1.0. It happened when Microsoft released the alpha of version 1.1 at the same time of the first beta of version 1.0;
  • Silverlight is the sole product I'm able to list that has its destiny set in the code-name rather than in the name. The destiny is, bringing WPF everywhere. For some reasons, no islands in no part of the world (like Whidbey, Orcas, and latest Hawaii for the successor of VS 2008) were involved to keep the ultimate goals of the product secret during the development stage;
  • Potentially designed to do virtually everything in any future versions (local file I/O, offline access to resources, hardware control over the Web), Silverlight appears to be in the uncomfortable position of some predestinates who know their future (sic!) but ignore most of their present;

Currently split in version 1.0 (RC1 at this stage) and the much more powerful version 1.1 (Beta 1 at this stage), Silverlight is clearly a powerful platform for rich Internet-based applications of the future.

Imagine It. Done. But Later.

I suggest you think of Silverlight as a virtual product and forget about the crazy versioning story and the sequence of releases and upgrades that we observed and still will observe in the next months. Let's reason as if it were a complete and released product. Who should care about it?

Nearly all developers involved with the Web from a .NET platform should care about Silverlight. The product enables you to embed a shrinkwrapped version of the CLR in the browser on a variety of operating systems. Again, the ultimate goal of Silverlight is in its original code-name: taking WPF and the .NET Framework everywhere, including Mac and Linux, thanks to the efforts of the Mono group. By loading a CLR-like engine, actually called Dynamic Language Runtime (DLR) in the browser, you have a tremendous tool to build Internet applications that are so rich to look nearly identical to desktop applications over the Web and through the browser. (Still something significantly different from special forms of deployment of Windows applications such ClickOnce.)

Silverlight as a Complete Product

You can read the feature matrix of current Silverlight versions here. Version 1.0 is limited to media and graphics. Not bad, but is it really worth the hype? A much stronger and rocking version 1.1 is said to be released towards the end of 2007. If confirmed, version 1.0 will be officially gone in three months, fully replaced by version 1.1. It's nonsense to me. But it could just be my developer-oriented mindset. Probably, from a marketing perspective in this way Silverlight started fighting against Flash a long time before its actual availability. By the way, Silverlight may find a more aggressive and qualified competitor than Flash in Adobe Flex.

To be a complete and mature product usable in line-of-business applications, Silverlight needs to grow bigger and taller. And incorporate key core features such as layout, input/editing, data binding. Maybe this will happen in version 1.1, if not in a futuristic version 2.0.

The Bottom Line

To use a developer metaphor, I see Silverlight today like a base class where only a few methods contain a concrete and executable body. And the team is rushing to fill more and more methods with a significant run time behavior.

As of version 1.0, Silverlight is good to play media without requiring any players to be installed on the client browser. Great achievement, anyway. As of version 1.0, Silverlight is also able to render XAML scripts into a beautiful and colorful graphics. Look at for an example. Core graphics is important but is far from being a killer feature without related features such as layout and data binding. And these are being added to Silverlight 1.1 as I write this. If not later on.

No question: Silverlight is important. No question: I'll be using it and recommending it to clients of any size and portfolio. But I'm talking about Silverlight as a complete and completed product. Which is not now. What are customers hearing from me these days?

I won't be recommending Silverlight in a line-of-business application for about a year and anyway not until the feature matrix is complete and there will be just one de facto version of Silverlight.

But it's going to be great. Trust me.

<<  Previous Article Continue reading and see our next or previous articles Next Article >>

About Dino Esposito

Dino Esposito is one of the world's authorities on Web technology and software architecture. Dino published an array of books, most of which are considered state-of-the-art in their respective areas. His most recent books are “Microsoft ® .NET: Architecting Applications for the Enterprise” and “...

This author has published 54 articles on DotNetSlackers. View other articles or the complete profile here.

Other articles in this category

Air Space Issue in Web Browser Control in Silverlight
Air Space issue is a common issue in Web Browser control in Silverlight and WPF. To explain the issu...
Displaying Notification Messages in a Silverlight Dashboard Application
In this article we will see how we could display a notification message and further a list of notifi...
TextBox Row Filter in Telerik's RadGridView in Silverlight
If you have come across the JQGrid features, you might have seen the filter row available as the fir...
Widget Refresh Timer in MVVM in Silverlight
In this article we'll see how to refresh and disable widgets using the Model View View-Model pattern...
Develop a Flexible 2.5D Scene Editor Targeting Silverlight RPG Games - Part 2
In this article, I'm going to introduce to you how to construct such a 2.5D RPG game scene editor th...

You might also be interested in the following related blog posts

Silverlight From Zero read more
MVC or Web Forms? A Dying Question read more
Silverlight Synchronicity read more
Silverlight Live Streaming service update read more
Building A Product For Real read more
Silverlight MVP read more
Review: Stack Overflow DevDays Boston read more
[Book review] Silverlight 3 Jumpstart read more
Next Stop, Redmond WA! read more
Just got back from Tech Ed Aus 2009 read more


Subject Author Date
placeholder Thanks for your opinion! Simone Busoli 9/14/2007 1:39 AM
RE: Thanks for your opinion! Granville Barnett 9/19/2007 12:25 PM

Please login to rate or to leave a comment.