Silverlight 3 Announced!
Today at MIX09, Microsoft announced the availability of Silverlight 3 Beta. This version represents a maturation of the platform instead of the complete change in platform that Silverlight 2 represented. There were a lot of good features announced:
Leave the Browser
Silverlight 3 lets you create applications to let it pop-out of the browser and run as a desktop application. In this mode you can run your application without a network connection (including API’s for detecting the state of the connection). While this approach is different than Adobe’s AIR product, it represents a way to create rich dual-mode applications (in and out of the browser). These applications also support creating desktop or start menu shortcuts to be run without invoking the browser at all.
Silverlight 3 also supports new improvements to the underlying graphical system. These include programable pixel shader effects (e.g. blur, drop shadow), perspective 3D support, Bitmap API for creating bitmaps on the fly from the render tree or to support pixel-level programming and also support for customizable animation easing.
The control system now supports controls for validation and UI errors. These controls support the ability to catch and show validation errors through the entire data binding stack. Existing control improvements include multiple selection ListBox and a new SaveFileDialog to allow users to save files to their own desktop environment.
Two major improvements come to the Styling system. First, merge resource dictionaries are now supported so you can share styling between multiple Silverlight application. Secondly, styles can be applied and changed at runtime as well as base styles on other styles to support cascading styles.
As announced earlier, Silverlight 3 now supports H264 and RAW codecs. In addition, you can build your own video or audio codec to support any non-supported scenarios.
Silverlight 3 (a first for a plugin platform) now supports using operating system colors. This means that for partially sighted users that use high-contrast color schemes that work with Silverlight applications.
There are number of performance improvements in Silverlight 3:
- Often used Toolkit controls are now available through a shared URI so that the chance of browser cached controls can improve the startup time of your applications.
- Font files can now be zipped up for spedier downloading.
- Silverlight 3 applications can also use operation system fonts to aid in re-usable fonts on the user’s machines. This is especially helpful in far-east scenarios where the font files are huge.
- Your applications can now convert part of the render tree to bitmaps to improve rendering speed.
- GPU is now used to render scenes to improve overall render performance.
- DeepZoom has been improved to be able to handle 1,000’s of elements.
- Text rendering can be throttled to allow for animated text to be much faster.
- Binary XML is now supported to improve speed between servers and applications.
Wrapping It Up
There are many details in these new features that you can explore by downloading the bits. A couple of caveats:
Silverlight 3 and Silverlight 2 Visual Studio Tools will not work side-by-side. If you need to work with both plugins, you should install Silverlight 3 separately (e.g. on a separate machine).
Silverlight 3 does not come with a go-live license therefore you may not be able to deploy your work. This go-live license should come in a future release (I expect in a release before the full RTW).