Today we shipped the final release of Silverlight 2. You can download Silverlight 2, as well the Visual Studio 2008 and Expression Blend 2 tool support to target it, here.

Cross Platform / Cross Browser .NET Development

Silverlight 2 is a cross-platform browser plugin that enables rich media experiences and .NET RIAs (Rich Internet Applications) within the browser.

Silverlight 2 is small in size (4.6MB) and takes only 4-10 seconds to install on a machine that doesn't already have it. It does not require the .NET Framework to be installed on a computer to run - the Silverlight setup download includes everything necessary to play video or run applications.

Developers can write Silverlight applications using any .NET language (including VB, C#, JavaScript, IronPython and IronRuby). Silverlight provides a rich set of features for development including:

WPF UI Framework : Silverlight 2 includes a rich UI framework that makes building rich Web applications much easier. In includes a powerful graphics and animation engine, as well as rich support for higher-level UI capabilities like controls, layout management, data-binding, styles, and template skinning. The WPF UI Framework in Silverlight is a compatible subset of the WPF UI Framework features in the full .NET Framework, and enables developers to re-use skills, controls, code and content to build both rich cross browser web applications, as well as rich desktop Windows applications.

Rich Controls : Silverlight 2 includes a rich set of built-in controls that developers and designers can use to quickly build applications. The Silverlight 2 release includes core form controls (TextBox, CheckBox, RadioButton, ComboBox, etc), built-in layout management panels (StackPanel, Grid, Panel, etc), common functionality controls (Slider, ScrollViewer, Calendar, DatePicker, etc), and data manipulation controls (DataGrid, ListBox, etc). All Silverlight controls support a rich control templating model, which enables developers and designers to collaborate together to build highly polished solutions.

Rich Networking Support : Silverlight 2 includes rich networking support. It includes out of the box support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services. It supports cross domain network access (enabling Silverlight clients to directly access resources and data from resources on the web). It also includes built-in sockets networking support.

Rich Base Class Library : Silverlight 2 includes a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc). It includes rich APIs that enable HTML DOM/JavaScript integration with .NET code. It includes LINQ and LINQ to XML library support (enabling easy transformation and querying of data), as well as local data caching and storage support. The .NET APIs in Silverlight are a compatible subset of the full .NET Framework.

Rich Media Support : Silverlight 2 includes built-in video codecs for playing high definition video, as well as for streaming it over the web (including both live and on-demand support). Silverlight includes support for adaptively switching video bitrates on the fly based on network conditions (enabling users to avoid seeing the dreaded "buffering..." message), placing and metering ads within video streams, as well as enabling content protection.

The final Silverlight 2 release delivers a tremendous amount of power and flexibility that enables you to really push the boundaries of what can be done in a browser, and enable great end user experiences.

Silverlight Customers

Over the last few months a number of very high profile sites have successfully launched using the beta releases of Silverlight 2.

In August, NBC hosted the Olympics live on nbcolympics.com and served up 1.3 billion page views, 70 million video streams, and 600 million minutes of video content - making it the largest ever media event on the web. Users visiting the site spent an average of 27 minutes on the site when they watched a video - an unprecedented number for online traffic.

In August, the Democratic National Convention was streamed live using Silverlight, and broadcast a 2Mbit live video feed of the event and speeches - receiving outstanding feedback from audiences watching it.

This month a number of other high profile sites are going live with the final release of Silverlight 2. CBS College Sports Network will be streaming 20,000 hours of live games for 150+ college and university partners. AOL is launching their new AOL Mail browser version to 60 million users using Silverlight 2. Blockbuster will be launching their new MovieLink subscription service using Silverlight. Yahoo! Japan is live today enabling live streaming of Major League Baseball games. Hard Rock International will be updating their memorabilia site with new features. And companies like Toyota, HSN and hundreds of others will be live this week as well.

Silverlight Toolkit

Silverlight 2 ships with dozens of built-in UI controls that can be used to build applications. Below is a screen-shot of the Silverlight DataGrid, RadioButton, CheckBox and DatePicker controls in the final release:



Today we are also announcing the "Silverlight Toolkit" - which will deliver dozens of more controls that you can use with Silverlight 2. We will continually add new controls to the control pack over the next few months (we expect to ultimately have more than 100 controls total). The first release of the toolkit will include controls like TreeView, DockPanel, WrapPanel, ViewBox, Expander, NumericUpDown, AutoComplete and more. All controls will ship with full source, and with a OSI license that allows you to modify and use the source for any purpose.

Interoperability

Today we are also announcing that Microsoft is partnering with Soyatec to sponsor additional tools for developing Silverlight applications using the cross platform Eclipse development platform. Click here to learn more about this and download the free Silverlight Eclipse plugin. Click here for a step-by-step tutorial that walks-through how to use their Eclipse tools today to build a Silverlight 2 application.

We are also announcing today that we are releasing the Silverlight XAML vocabulary and schema under the Open Specification Promise (OSP), which enables anyone to create products that read and write XAML for Silverlight. You can learn more about this announcement here.

Learning Silverlight 2

The best way to learn Silverlight 2 is to visit the www.silverlight.net web-site. You can find free online tutorials, videos and training available there. The site also hosts an online forum system where MVPs and Microsoft Silverlight team members will be able to help answer technical questions. Also make sure to subscribe to the Silverlight Community RSS Feed, Jesse Liberty's Blog, and Tim Heuer's Blog for a daily dose of great Silverlight content.

I've recently updated my Digg-client tutorial for the final Silverlight 2 release. This provides an end to end walkthrough of a Silverlight 2 application, and helps explain the different programming concepts behind it (controls, layout management, networking, data-binding, styles, user controls, control templates, etc). If you are brand new to Silverlight or WPF development I recommend walking through it to understand the basics:

You can develop Silverlight 2 applications using any version of Visual Studio 2008. Simply install the Silverlight Tools for Visual Studio 2008 download to get Silverlight tooling support within it.

If you do not have VS 2008, you can alternatively install the free Visual Web Developer 2008 Express SP1 Edition. This free tool provides great ASP.NET development tool support, and starting today also now supports Silverlight 2 development. You can follow all of the steps in my tutorial above using the Visual Web Developer 2008 Express Edition - and get full intellisense, debugging, and deployment support.

Upgrading from the Beta

If you have the Beta2 or RC versions of the VS Tools for Silverlight, or the Silverlight 2 Beta SDK or Developer Editions of Silverlight 2, please make sure to uninstall these completely before downloading and installing today's release.

End users who have Silverlight 1, or Silverlight 2 Beta1 or Beta2 will be automatically upgraded to the final Silverlight 2 release starting later this month. Until then, if they visit a Silverlight 2 (final release) site, they will see the standard install prompt that a machine that does not have Silverlight installed would see. Clicking it will upgrade their machines to the final release of Silverlight 2 (there is no need for them to uninstall anything - Silverlight 2 will cleanly install over Silverlight 1 or the previous betas).

Because there are some breaking changes between Silverlight 2 Beta2 and the final Silverlight 2 release, end users who have the final Silverlight 2 release installed will not be able to run applications that are still targeting Silverlight Beta2. Most major Silverlight 2 sites plan to upgrade to the final release in the next 24 hours (which will fix this issue) - if you hit a site built with Beta2 before then you might experience trouble with it. That should go away within about a day once all sites are updated though (this was one reason why we released the public release candidate last month - to help developers get their sites ready for the final release).

Summary

Silverlight 2 is a major release that enables some great new application and media experiences to be built, and allows developers to use .NET within any browser to create them.

Thank you for all your support and feedback the last year as we've worked on it. All of us on the Silverlight team are really excited to see what you build with it. :-)

Scott