What I think about WPF after all

I'll try to not bitch anymore about technologies as any of them have good things and bad things after all. I complained a lot about WPF (Windows Presentation Foundation) time ago as I was using it for an application that should have been done using Windows Forms and I think that is not fair. After that I tryed some animation stuff and I found out the actual asset of this technology.
With XAML you can write impressive 3D animations among other cool effects to make your GUI more attractive in some cases. Have a look at this article written by Charles Petzold... very nice, isn't it?
The animation engine is also very powerful and confortable programmatically... say for instance that you want your forms appear fading in, from 100% transparent to 0%. You only need 1 line of code: http://msdn2.microsoft.com/en-us/library/ms590761.aspx

What I think now is that WPF is not ready for business applications where Windows Forms fits really well and has far more maturity and features. I think it has not been designed for that as a priority. WPF is suitable for special GUI applications that require nice effects and maybe in the future it will be ready for any kind of application. As many people say, I see programmers adding weird animations on screens or controls that don't need such a bad user experience, just because it looks cool to them. But that is not a technology problem.
Nobody teaches developers how to desing GUIs and this is REALLY important if you consider the user the most valuable part of the game, as I do. I'll post about that in the future.

Enjoyed reading this post?
Subscribe to the RSS feed and have all new posts delivered straight to you.
  • Alex Coll

    In my opinion WPF is not an alternative to WinForms, but a replacement technology. XAML is extremely powerful not just to do fancy UI tricks like animations, but also for intuitive and time-saving programmatic behaviours, such as implicit databinding. See this excellent demo at http://www.galasoft-lb.ch/mydotnet/articles/article-2007041201.aspx for how easy it is to set up a control which does its own databinding without any new logic from the programmer.

    Although I agree that WPF and related XAML technologies such as Silverlight have a degree of immaturity, this is only due to the fact that XAML is a radically new, and in my opinion much more powerful, programming model than previous UI libraries. I will certainly add my voice now to the people who say it will replace HTML in the long term, whether Microsoft will pioneer this transition is yet to be seen.

    BTW, some invaluable resources to address gaps in the base WPF library:

    An open-source TreeView control which addresses the weaknesses of the built-in version:
    http://www.codeproject.com/KB/WPF/versatile_treeview.aspx

    An free datagrid control for WPF:

    http://xceed.com/Grid_WPF_Intro.html

  • http://carlosble.com Carlos Ble

    Hei Alex!
    Wordpress considered your comment as spam so I didn’t see it. Thanks for the links and the comment. I’ll take a look to them. However, you just need to develop a business application on WPF to get the feeling that I meant.
    Cheers!