By Michael Flanakin
@ 5:39 PM
:: 1768 Views
:: Digg it!
Every couple of weeks I come up with an idea of a project I'd like to work on to make my life a little easier. This time, I'm going to use it as a way to dig into WPF. To be honest, I've looked at WPF a few times and grumbled at the vastly different model and, of course, groaned at the lack of a data grid. I'm trying to get past that, tho. Actually, for this little venture, I don't need a data grid, so I'm not concerned there.
I've grown into a love-hate relationship with WPF. I love the ability to create compelling UIs, but dread the flux of non-standard apps that seems imminent. I love the idea of a new model, built on the lessons learned of past products -- Microsoft is usually pretty good at this -- but immature tools can kill any such benefits -- and let's face it, WPF is very
immature "young." Like I said, tho, I'm working past these issues. Any new tool/technology has a learning curve and needs time to mold itself into what its users really need and want. I expect know WPF will be no different.
So, what will I be working on? Something that's caused me a lot of heartache... a diff utility. Not quite the compelling opportunity most expect, but I think there's plenty to gain. Worst case scenario, I get some experience with WPF and drop a half-implemented project -- it wouldn't be a first (unfortunately). At best, we'll have a great diff utility built on the latest and greatest .NET technology.
My intentions are to ultimately make this available on Codeplex, but I need to find out how to best do that. Not that a Codeplex project is hard to setup; I'm more concerned with including this in another initiative I'm trying to push, which would release even more code to the open source community.
If anyone has any input, I'm all ears. I'd also welcome any insight from seasoned Win Forms or WPF developers. Client development isn't my forté, so I'm sure I have plenty to learn. So, until I have a chance to share something, it's time to get down with my new mistress... WPF.