Thursday, February 4, 2010

MVVC, Silverlight and Staying Grounded

I was reading some Visual Studio Magazine today and there was an article on MVVC gushing over how great it is. I know it's not exactly new. I also know that the pattern, when combined with the trend toward data binding is a powerful combination. But it's surprising that many 'architects' apparently swear by this solution and insist on writing whole applications of every type without deviation.

There are many in-the-trenches sorts that believe that while it is useful in certain situations, it actually causes more work and creates less maintainable code much of the time as well. I ran across many differing opinions all in the same day. Probably the most sane of which were saying that it's a good architecture for mid size, data processing applications; too much for small tools and not flexible enough for large, interaction rich utilities.

As with all layers of an application, there appears to be different problems to solve in the UI. The different paradigms are good at specific problems of certain sizes, but no one is best suited for all tasks of every caliber. From messaging between disparate parts of a large application, to showing data in a small application, to interacting with complex UI's and business logic, it seems like you need to choose the solution(s) that will best fit the problem(s) at hand. This might not help you out much in choosing the best model to use on your current project, but it may be ammunition against those of the one-solution-fits-all mind set.

Maybe it all comes back to the fact that a text box and button with some in line SQL in the code behind is a perfectly acceptable way to modify some simple data under certain circumstances...

I also read up a bunch on Silverlight 4 today. I guess there's a slew of new technology being released along with .NET 4 and VS 2010. The general summary is that it makes Silverlight a viable line-of-business application platform. But, there seems to be a lot of bells and whistles that are more web 2.0'ish rather than business requirements. Maybe there's some overlap there, or maybe there will be when businesses are ready for it. That being said, it's probably worth looking into the specifics on the WCF changes as those were the hardest challenges that I remember having to overcome with the platform in a business application. The whole printing thing is probably pretty nice too.

No comments:

Post a Comment