InfoWorld – Microsoft Silverlight has had a topsy-turvy year. Apparently doomed or at least marginalized by HTML5, Silverlight found a foothold in Windows Phone and has more recently emerged as a key component of the Jupiter application framework and programming model for Windows 8. If Silverlight has become less important as a rich Internet application (RIA) framework, it has become more important to Microsoft’s desktop and mobile platforms overall.
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.
Another good addition is support for H.264-encoded media playback, which now pushes processing overhead to GPU-accelerated hardware. Improved performance will be key to this important niche for Silverlight going forward.