Last week I did a story on Microsoft’s strategy to implement the model-view-controller architecture in its ASP.NET Web application development system and got immediate reaction from some folks in the know.
Well, I should say I solicited reaction. Primarily because Microsoft is implementing MVC in its core Web application development platform, it brings to mind Ruby on Rails, the wildly-popular Web application development framework that also happens to use MVC
So I asked Ruby on Rails creator David Heinemeier Hansson what he thought of Microsoft’s move. Hansson, in his inimitable style, gave Microsoft credit for moving to MVC, but also said: “I think Microsoft is just doing what they always do: following.”
I love Hansson for his brashness. And you have to give him credit for leading the charge with a lightweight Web development framework that developers ate up like candy. Moreover, in so many ways, he’s right about Microsoft. They do often times follow.
Yet, you know what? They’re good at it! A few examples of Microsoft “following” in the marketplace: Windows, C#, the Expression suite, the Zune, Silverlight, MSN and Windows Live. And that’s just a brief list off the top of my head.
Some might say Microsoft is good at following some things and not so great at following others-evidence the current Microsoft bid to buy Yahoo. But, be that as it may, I don’t care; I wouldn’t want Microsoft following me, especially not in the tools space. Microsoft just has too much clout with a large developer base.
“It seems that Microsoft is taking notice, that’s for sure,” Hansson said. “The proposed MVC extensions to ASP.NET bear more than a striking resemblance to the way we implemented things in Rails. That’s, of course, flattering to have a giant like Microsoft attempt to copy many of the ideas that we’ve been championing for years now, but they do appear to be a little late to the party.”
Meanwhile, Joel Spolsky, a software development guru and CEO of Fog Creek Software, a New York City software vendor, said: “It’s clear that the ASP.NET team is trying to clone some of the popular benefits of Ruby on Rails. I’m disappointed that Microsoft forces you to choose whether your app is MVC or not before you write the first line of code. It’s a very different way of organizing code than traditional ASP.NET, and the way it looks now in the CTP [Community Technology Preview], it’s going to confuse new developers who now have one more decision to make about how to build an ASP.NET site. It does address one of the weaknesses of ASP.NET, which was how to organize large sites.”
Another likely short-term gripe Spolsky has with the Microsoft offering, known as ASP.NET MVC, is that “it seems to require IIS [Microsoft Internet Information Services] 7.0 to get the full benefit of pretty URLs, and I don’t see system administrators deploying IIS 7.0 until they’re literally threatened with bodily harm.”
Despite the early issues some developers may have with Microsoft’s foray into following with MVC support in ASP.NET, I would expect that once the wrinkles get ironed out a whole lot of developers will be following Microsoft and hopping onto the platform.