Medhat Elmasry works as a BCIT instructor as well as a contractor for Sierra Wireless. But on January 20th, he was front and centre at Microsoft Tech Days, held at the Vancouver Convention Centre. Elmasry explained to a room full of local developers how Windows Presentation Foundation (WPF) can help them build line of business apps, as well as other rich applications. WPF is built on XAML, a markup language that allows for the design of rich user interfaces.
While WPF is primarily known as a way to code business applications and interfaces, Medhat pointed to a web app on the British Museum’s website that allows the user to browse through Leonardo Da Vinci’s manuscripts as an example of what WPF is capable of. Medhat demonstrated a media server application built on the Windows platform as an example of how WPF is capable of manipulating rich multimedia data.
WPF Windows applications can run under Firefox and IE, but an end user has to be operating Windows for the code to work. But that’s actually a solution, not a problem, Medhat said, since it ensures everyone in an environment is running the same platform.
But if one is running in a multi-environment setting, Silverlight will run anywhere and has a minimal footprint, Elmasry said. Either way, WPF provides a unified development environment in which to create apps.
One of the best aspects of WPF, Elmasry said, is that because it communicates with Microsoft Expression Blend, it allows both the developer and the designer to work on their portion of a project without getting in each other’s way. Expression can open projects from Visual Studio, and a designer can then tweak all the visual and design aspects of an interface without messing up the code. As a further example, Elmasry animated a button, then fired search queries into it at the same time. WPF also uses vector graphics, meaning graphical presentation quality is much higher with little overhead in bandwidth and bloat.
One of the questions from the audience was the relative advantages of WPF vs. Silverlight. 3D acceleartion is one aspect of WPF that Silversight lacks, and in most cases, Silverlight is more of a subset than WPF is. Silverlight also runs in something of a sandbox, wheras in WPF its easy to install apps. But on the other hand, Silverlight can be deployed anywhere, from Microsoft devices all the way to a run of the mill Apache server. Silverlight is essentially the “Jenny Craig” version of WPF, but it “all comes down to your requirements.” The corwd was also assured that Winforms “isn’t going anywhere, and neither is WPF”. The two platforms are equally useful for different situations. But long term, WPF was cited as Microsoft’s long-term vision.
Moonlight was also cited, a project developed by Novell and spearheaded by Miguel De icaza (of GNOME fame) which aims to bring Silverlight to the Linux platform.