What Windows Presentation Foundation lacks in design-time tools it makes up for in impressive UI elements. That...
was the message Brian Noyes, chief architect at IDesign, delivered to attendees at the .NET 3.0 Roadshow, a Dr. Dobbs seminar that came to the Boston area last week.
Windows Presentation Foundation, or WPF, is Microsoft's upcoming user interface framework for .NET 3.0 applications. With it, developers can create both browser- and client-based applications with "eye candy" such as audio, video and 3D graphics.
"It's about making the user experience a little more compelling," Noyes said. "It's a lot harder to do that with existing technology."
Of the two application types, WPF's strength seems to be client apps. Here developers can implement the look and feel of a Web application, complete with forward and back buttons, simply by creating a Page class and defining navigation, Noyes said. On top of the UI improvements, the client apps inherently offer stronger security that Web apps, he added.
Another advantage WPF offers, regardless of application type, is improved data binding. At the code level, every element has data context; as long as an element is higher on the hierarchy, or upstream, it will be recognized as a data source, Noyes said. "Lob an ambient data source out there….and any elements downstream can take advantage of that data source without knowing what it is," he noted.
WPF introduces a declarative programming model called XAML, short for Extensible Application Markup Language. Part of XAML's appeal is that it is also used by Microsoft's Expression suite of products for application designers.
Noyes said XAML is like ASP in the sense that all it does is separate markup from the behavioral aspects of code. "Don't let XAML dazzle you and confuse you. It's really just a markup language on top of objects," he said.
However, Noyes pointed out, becoming familiar with XAML is an important consideration given one of WPF's pitfalls -- performance. WPF allows for drag-and-drop development, with the XAML generated automatically.
Another downside to WPF is the availability of design-time tools. While the product's runtime capability is part of .NET 3.0 and is now in beta, its design time capability, code-named Cider, will not arrive until the next version of Visual Studio ships in 2007 or 2008.
"[WPF] will continue to be more and more compelling over time as those tools become available," Noyes said, adding that, for some developers, Windows Forms and ASP.NET 2.0 will continue to get the job done.