Some facts about Silverlight 3 and where it’s going

“Being an expert means having credibility. It doesn’t matter how much you know if people don’t trust your answers.” – Brent Ozar
Silverlight 3 was first announced at the IBC 2008 show in Amsterdam on September 12, 2008. It was unveiled at MIX09 in Las Vegas on March 18, 2009. A beta version was made available for download the same day.

Silverlight 3 includes an increased number of controls - including but not limited to DataGrid, TreeView, various layout panels, DataForm for forms-driven applications and DataPager for viewing paginated data. Some of these controls are from the Silverlight Toolkit. In addition, Silverlight 3 includes a navigation framework to let Silverlight applications use the hyperlinked navigation model as well as enabling deep-linking (linking directly to specific pages) within Silverlight applications.

On the media front, Silverlight 3 supports AAC audio decoding as well as hardware-accelerated H.264 video decoding. The native multimedia pipeline is also programmatically exposed, so that other formats can also be supported by third-parties using managed code decoders. Silverlight 3 supports perspective 3D which enables 3D transformations of 2D elements. These transformations, as well as many 2D operations like stretches, alpha blending etc are hardware accelerated. Custom animations, including transforms and blends, can be created on Silverlight elements using HLSL to make use of pixel shaders. A Bitmap API is provided to let Silverlight 3 applications manipulate bitmaps. Silverlight now uses the GPU to accelerate the composition of Visual Trees (like WPF, Silverlight elements correspond to Visual elements, which, when coupled with the layout information, forms a Visual Tree which is then rendered to form the final display). Visual trees can now be cached; this increases performance in cases like transforms, which create lots of throw-away intermediate states, by not making the state transitions on the main Visual tree. Silverlight 3, on release, will support ClearType text rendering.

UI elements in Silverlight 3 support element-to-element binding - which allows one element to be bound to the state of another element, including  a validation mechanism for data binding. Unlike Silverlight 2, which allowed the applications to save files only to the local isostorage, Silverlight 3 applications can save to any location on the file system via the system Save File dialog. However, the path where the file is saved will still be hidden from the Silverlight application. Any external assemblies used by Silverlight applications are cached to so that they need not be redownloaded for subsequent instantiations of the application.

Silverlight 3 also includes a LocalConnection API to communicate (using a named pipe style model) among multiple running applications on the same machine, irrespective of the browser  and can monitor for network connectivity events. Silverlight 3 can optionally use Binary XML to communicate with WCF services.

Silverlight 3 supports Out-of-Browser deployment, i.e., Silverlight applications can be installed to the system for offline access (provided the application manifest is modified to allow local installation) where they run outside the browser. They are launched using the Start Menu or desktop shortcuts, similar to ClickOnce installations, and run without the browser window. Applications can check whether they are running inside a browser or not. When running out of browser, HTML interop is disabled. In addition, access to the Function Keys is  enabled. Locally installed Silverlight applications still run in a sandbox.

Installed Silverlight 3 applications automatically check for updates asynchronously on every launch and updates are automatically installed. Running instances of the applications are informed when updates are available.

The current Silverlight 3 beta does not support a “go live” license, so developers cannot currently put their Silverlight 3 beta applications on the public internet because there is no publicly available runtime to download.  You can find out more about Silverlight 3 here.