Anyone who still reminisce about Longhorn-era codenames will probably agree they are much better than their official counterparts. Not only did “Avalon” sound cool, it has a certain utopian ring to it. Now in it’s fourth revision, Windows Presentation Foundation 4.0 is pitched as the state-of-the-art framework for building graphically-rich desktop clients on Windows.
When I decided to build a modern Windows application kindled with animations, the choice to use either a nearly ten-years-old low-level graphics subsystem based on technologies dated even earlier, or an abstracted graphics framework that considers the expectation of user experiences in the current decade, was a no-brainer.
First and foremost, over just a couple of months, what we’ve achieved with MetroTwit was simple not possible without WPF considering the few precious midnight hours we put into it on most days. According to the rest of the team (the real developers), apparently I owe much to data-binding which I’ve been told is nothing short of a miracle.
Having said that, working with WPF has been somewhat of a rollercoaster ride. There is up – very high ups, but there is also down – pretty lows too.
I won’t bore you with all my gripes but I must say WPF can only be tamed with experience. Granted the MSDN documentation is required reading material and an exhaustive resource, I found only when I complimented it with others’ experiences on StackOverflow and the MSDN forums like study guides on SparkNotes I could then make sense of it all.
I constantly have the feeling there is a million different way to achieve the same effect in WPF and everything you do is wrong until it is proven otherwise. Flexibility is great but when a few thing work better one way over another, not because they are documented as such but because you find through experience, you begin to doubt everything else you do.
It must be said though WPF has come a long way in a relatively short period of time. What should be noted is that the significant drive behind its evolution appears to be when Microsoft decides to dogfood WPF. First it was the Expression suite of design applications (it still blows my mind they built the product using itself) and more recently with Visual Studio 2010. Hopefully this is a trend that will continue to deliver benefits to all WPF developers.
In the end, when rich and beautiful application have become the norm, I’m glad Windows Presentation Foundation is what it is today. Although it’s no stroll in the park, but at least it makes it not impossible.