Time for XAML?
The language behind WPF is starting to gain momentum, thanks in large part to Silverlight.
Don't look now, but the broadly ambitious eXtensible Markup Language (XAML) vision Microsoft kicked off several years ago appears to be gaining traction. Most developers know XAML as the language behind Windows Presentation Foundation (WPF), the graphical subsystem unveiled in 2006 with .NET 3.0 and due for an extensive refresh in .NET 4. (check out last month's cover feature, ".NET 4 Revealed").
Ironically, the real driver behind XAML to date has been Silverlight, Microsoft's fast-evolving rich Internet application (RIA) platform. Even as WPF adoption languished, Web developers began working with XAML and tooling like Expression Blend for their Silverlight projects.
Silverlight has set the stage for XAML adoption, says Todd Anglin, chief evangelist with component maker Telerik.
"I think there's a bit of a halo effect on WPF from Silverlight. Silverlight was the attention-getter and people came and learned the core concepts of XAML within Silverlight," Anglin said in an interview.
That halo effect should grow stronger this summer, when Microsoft is expected to release Silverlight 3. The new version will introduce powerful new data and application capabilities that, for the first time, make Silverlight a mature target for live-fire business application development. The question is: Will desktop application developers simply develop for Silverlight rather than the more robust and extensive WPF spec?
It's an open question, and one that VSM readers will certainly have a say in answering. Meanwhile companies like Telerik are helping developers support WPF and Silverlight apps from a common code base, with components that work from a unified code set. Are you aiming to build XAML apps that run seamlessly in both Silverlight and WPF? Or do you plan to target WPF for your traditional client applications? E-mail me at firstname.lastname@example.org.
Michael Desmond is an editor and writer for 1105 Media's Enterprise Computing Group.