This post originated from an RSS feed registered with .NET Buzz
by Udi Dahan.
Original Post: .Net 2.0 vs. 3.0 - the debate continues
Feed Title: Udi Dahan - The Software Simplist
Feed URL: http://feeds.feedburner.com/UdiDahan-TheSoftwareSimplist
Feed Description: I am a software simplist. I make this beast of architecting, analysing, designing, developing, testing, managing, deploying software systems simple.
This blog is about how I do it.
Jesse quickly rebutted my claims on the value of WPF. We don't seem to be disagreeing so much as coming from different domains:
"If you, being a developer, do all of your design work and your UI code is really just 5% of your apps, then WPF probably isn't going to do you much good, because you obviously don't care enough about your UI anyway. (or maybe your apps really need to be 95% backend, which is fine, but that's certainly not the type of apps we are building)."
I think that I'll have to make it clear that the 5% number was for smart client development effort (time spent), and does not take into account server side effort. Second, the smart clients I work on usually have a very rich interface from the user perspective - including 2D and sometimes 3D maps, with powerful interactive capabilities. That said, we rely on a 3rd party map control for that, and by employing MVP style separation, are able to keep most of our code independent of UI widgets.
I do care very much about the usability of the systems I work on, as do most developers, I imagine. The fact that I structure my code in such a way as to keep most of it independent of visual elements only lends itself to being more testable.
I'd actually like to call out to Microsoft to add something that's been paining me for a while into the Avalon timeframe. The designers for menus and toolbars require them to be hosted on a form. I don't work that way. The menu that we have is an isolated component - its items being tied to commands. The same goes for the toolbars in the system. The form on which they will sit is in entirely different solution, and is not dependent on the specific menu or toolbar classes. I could swap out one menu and replace it with another by changing a config file. I could support different modes of work very easily this way. But what I end up having to do is design the menu and toolbar on a form, and then rip them out of the form, and package them separately. This is a pain to maintain (put back on a form, fix, rip out, repeat). I hope that Microsoft didn't bind the whole designer framework in the IDE to having a form available.
To Jesse's final question, "so why not just wait out another extra year or two on the 1.1 Framework and then move to 3.0?"
Because I have to ship at the end of this year and 2.0 makes me and my team much more productive than 1.1.