A Short History of Silverlight
The development of Silverlight has been consistently incremental. Silverlight 4 is a superset of Silverlight 3, which is a superset of Silverlight 2. Some of the code might not be completely compatible between versions, mostly because when some things were missing developers had to use workarounds. After a feature has been added in a later version, however, the workarounds might not work properly anymore, and it is time to upgrade the code to the proper implementation.
In some rare cases, the interface to some functionality might have changed because the team came up with a better implementation. These occurrences are rare, however, and upgrading an application to a newer version of Silverlight should be easy enough.
Silverlight 1.0
This early release of Silverlight (May 2007) was far from complete, and in fact did not support any .NET code; it had to be programmed in JavaScript. It did, however, support a small subset of XAML (eXtensible Application Markup Language), the language used to define the user interface of Silverlight applications.
The main purpose of Silverlight 1.0 was to rapidly create a base of installation for the Silverlight plug-in. Other features were, however, supported in Silverlight 1.0. For example, you could already create some animations. There were no built-in controls (apart from the TextBlock), but using shapes, you could create buttons and other basic building blocks for your application that would trigger JavaScript-based code. For instance, some video players still available today on the Web are entirely written in Silverlight 1.0, without any .NET code.
Nowadays it is clear that Silverlight 1.0 was just a step on the road to rich interactive applications, and very soon the focus shifted to Silverlight 2, the first .NET-based version.
Silverlight 2
For a very short time, this version was named Silverlight 1.1, but considering the major changes implemented (and also to simplify the versioning process), it made sense to change the version number to a full digit instead.
Silverlight 2 (released shortly before the Professional Developer Conference in October 2008) was revolutionary because it brought for the very first time the .NET framework (as a subset) to other platforms than Windows. It also included a rich set of controls, enhanced video, new tool support, and many other exciting features.
When you study Silverlight 4, you will use a lot of features that were already available in Silverlight 2.
Silverlight 3
This version (again a full-digit increment) was released in July 2009, a mere nine months after Silverlight 2. In this short time, the team managed to bring Silverlight to a more mature version.
Controls and features were added, and the data layer extended to provide a stable foundation for more business-oriented scenarios. At the same time, the existing media layer was extended with new formats being supported, and new powerful effects (known as pixel shaders) being introduced. On the user experience level, it was now possible to transform 2D elements into the 3D space (what was sometimes called "pseudo 3D" or "2.5D"). Animations were pushed further, with smoother and more lifelike movement. Some steps were also taken to enable hardware acceleration (which is a real challenge on mixed platforms such as the ones supported by Silverlight).
It's also in Silverlight 3 that we saw the out-of-the-browser (OOB) feature for the first time. It was still rather incomplete: For example, the OOB application still couldn't get any additional permission, so it was pretty limited in its actions. It was also not possible to give a custom look and feel to the OOB window. Still, it was an intriguing first step, and the community's response was very encouraging.
In short, we wanted more...
And Silverlight 4...
And here we are! Silverlight 4 will not be the final version of this technology, but one thing is sure: If you were still hesitating to invest in Silverlight, now is a great time to start. We know a lot about what Silverlight is, what it can do and cannot do, and we have a quite clear vision of what will happen in the near future. We also have Silverlight experts with (in some cases) two or three years of experience with this technology.
Silverlight 4 is a very stable release. What we predicted when Silverlight 2 was published is proven true today: Silverlight is here to stay, and Microsoft is betting a lot on this technology. In these three years, it went from "Flash contender" to major user interface technology.
According to recent numbers, the Silverlight installation basis grew very fast since Silverlight 2 was released, and you can count on approximately 60% of all the connected computers having Silverlight 3 or Silverlight 4 already installed.2