WPF - creating attractive and effective user interfaces

So what exactly is WPF? is it just another new technology released by microsoft? well that it is... but then it would be hard to understand how WPF could change the way we do windows programming unless we analyze what developers today use in windows applications: -

  • Windows Forms: for forms, dialog boxes, controls, etc
  • GDI+: for images & 2D graphics
  • WM Player API: for audio & video
  • Direct3D: for 3D graphics
  • PDF: for documents

what this means is that if an applications needs features mentioned above, the developers would have to know the above related yet independent technologies.

WPF provides a broad range of functionalities in a single technology which though it would not replace everything on the above list, it has the potential to make development of modern-day GUIs significantly easier for the software guys.

There are three aspects of what WPF provides that stand out

  1. unified platform for modern UIs as mentioned above
  2. ability for developers and designers to work together: This has always been a pain area. A designer would use a graphical tool for doing the designs layouts and then gives it to the developer who has to integrate it with the code. So how can they work together using WPF? To allow this, WPF introduces the XAML language which defines sets of xml elements such as Button, TextBox, Label, etc. to define exactly how the UI should look. Which means that this isn't part of the code (though it can also be done through code if required). Hence, the look and feel (which is the designer's job) is effectively separated from the functionality (which is the developer's responsibility).
  3. common technology for windows and web brower interfaces: A developer can create a XAML Browser Application (XBAP) using WPF that runs in Internet Explorer. In fact, the same code can be used to create a standalone WPF application and an XBAP.

more to come as continue to explore!!