At my current day job at Getty Images, we're currently developing a new web application in ASP.net MVC. On the whole, it's pretty cool and it allows one to avoid many of the shortcomings of poorly designed web forms apps. Unfortunately, my real estate web app code base isn't new (and I think its design improves every time I check something in).
The dilemma I'm facing is should I rewrite my decent & improving ASP.net web forms app as an ASP.net MVC app? Sure, ASP.net MVC better supports TDD and custom view engines, but I'm not quite sure that's enough reason to convince me to redo everything. Especially, since nobody has come up with a good way of unit testing views (which is where the most fragile & interesting code of a web app lives). Sure separation of concerns is a good reason, but I can accomplish the same thing by not being stupid. It's not like the switch from classic ASP to ASP.net was, in which I gained a lot of new functionality and performance.
Especially, since it's looking like ASP.net 4.0 will be the cats pajamas (or at least mitigate webforms worst shortcomings). ASP.net 3.5 SP1 has custom routing (so that eliminates one reason to switch). I also have a ComponentArt subscription that I'd like to keep using (Charts & Gauge is now part of Web.UI 2009, boo yeah!). Although, I really love the goodness that the jQuery community is producing & I'm sure ComponentArt will eventually embrace MVC, there's nothing preventing me living the best of both worlds except my own hang ups.
This reminds me of a conversation I had with an engineer on the Word team over 10 years ago at some tech fair when I worked at the big M. I innocently asked - why don't you rewrite Word in C++ (back when Word was a small million line of C program)? I was then told that the Word team could either spent a year rewriting Word, or spend a year adding features that improve the product for the people who write the checks (the customers). Granted, I think a code base needs to migrate to newer platforms as it ages, but I also tend to think you should only move, when you believe your foundation is crumbling.
But if you don't think you have much technical debt and you think gas is going to get cheaper, should you really be getting a new hybrid car? Yeah it's a little better, but is it better enough to be worth the expense?
I think for now I'll pick door #3 and interestingly, that approach best describes the last project I worked on. ASP.net ZeroForms, mix it all together and you know that it's the best of both worlds. If Disney's tween sensation can live two lives so comfortably, perhaps I shouldn't be so weirded out about it.
Print | posted on Saturday, April 18, 2009 4:27 PM