The fall and rise of Microsoft Silverlight
Before hitching up with Windows Phone and Windows 8, Microsoft's cross-platform rich Internet application framework gets a modest upgrade
I installed the Silverlight 5 Tools Beta to Visual Studio 2010 SP 1. The Beta included the Developer Runtime, SDK, and a new preview of WCF RIA Service v1 SP2. Instead of Visual Studio, you could use Visual Web Developer Express 2010 SP1 as the development platform.
First off, it was good to see that Silverlight 5 can reference earlier version assemblies, as well as upgrade old projects with ease. Debugging is now extended to XAML through breakpoints and runtime value inspection. Gone is the tedium of having to sift through error messages or wire custom converters to trace binding errors. You can now use the Locals window for easy drill-down into errors and even be warned of potential pitfalls of improper placement within the debugger.
The Silverlight 5 beta lifts XAML with new debugging capabilities. Now, you can spot data binding errors easily without sifting through generic output messages.
Data binding has also been enhanced with several features found in WPF. I was able to bind to ancestors in the visual tree (similar to WPF's FindAncestor), which takes a lot of the heavy lifting out of DataTemplate design. You can now trace and bind the data context of a parent element without duplicating properties across multiple child views, streamlining both process and code.
I liked the new access for augmenting styles via bindings. The evaluated settings offer more flexible tuning of interface control display properties at runtime. New markup extensions let you run custom code within bindings. This makes it easier to configure properties or change the default language, for example, without messing around with resource wrappers.
Silverlight 5: Presentation, sound, and video
Microsoft has also included implicit data templates that provide more flexibility in the presentation of disparate data sets. Dynamic data templates are a welcome alternative to cranking out custom converters, and they go a long way toward simplifying your code.
On the interface front, Silverlight 5 makes good strides at improving text handling. In addition to enriched kerning and leading for tighter text control, Silverlight's new multicolumn text flow controls do a nice job at building snazzier page layouts. With vector-based printing and OpenType support in the offing, better report and doc creation apps can't be far behind.
New text flow capabilities in Silverlight 5 help streamline multiple-column layouts.
The Silverlight 5 beta also shows off a number of performance tweaks and multimedia enhancements that will be important for game developers. XNA sound effect classes can be used to create independent sound instances -- improving audio precision for effect timing and looping, for example. Further, independent animation classes have been ported from Windows Phone 7 -- along with immediate graphics mode from WPF -- to speed up graphics rendering.