A lot of buzz is going around about the MVC framework coming out of Microsoft. I posted about how cool it was and got a couple of comments that basically said:
They just copied MonoRail.
Well, yes. In a sense they did. And Rails. And Django. And another one that The Gu mentioned that I hadn’t heard of. Is that a bad thing? If you’re using MonoRail today, then you should continue to use it. Unless you like some of the different syntax or ability to mock the core ASP.NET Runtime objects.
The reason I think that ASP.NET MVC is so exciting and important is because I often come to clients that refuse to (or make it very difficult) to use non-MSFT produced thingies. Can I use Resharper? No, we gave you Visual Studio. Can I use NHibernate? No we use Enterprise Library. Can I use NAnt, StructureMap, MonoRail, SubSonic? Often times the answer is no. Recently I’ve had experience where our team dumped eWorldUI in favor of ASP.NET Ajax Control Toolkit. The reason? Easier to get approved since it has Microsoft’s name attached to it. It doesn’t matter that eWorldUI is free and easy to implement. It matters because somebody sees eworldui.dll in a bin folder somewhere and everyone wants to know where it came from.
When you work in an organization with 10,000 employees that has widely adopted Microsoft as a technology platform, trying to get something approved like MonoRail is like trying to convince a Catholic priest that he’s really a Mormon. Ok so that doesn’t really make much sense, but what I’m getting across is that it’s hard.
Some of my readers have already gone down this route, and succeeded. And I commend you. But I have yet to get corporate adoption of something like that. Maybe it’s my inability to convince people of the benefits, or sway their concerns about supportability and such. Or maybe I just work with very beligerant clients.
Some of my colleagues probably read this blog, so just so you know I’m not talking about you… I’m talking about the other guy. .
Back to my original argument. Since this is a new framework coming out of Microsoft, I will not have to fight to get it adopted. I can go in and say “this is how it’s done for real applications” and have Microsoft guidance to back me up. Hell, some clients might even ask me for it! That’ll be interesting. I can’t imagine what it would be like for a client to come up to me and say “hey I was thinking, maybe we should use NHibernate for this…”
Thinking about that makes me kind of sad that it hasn’t happened before. Am I just unlucky? Am I just not skilled at convincing? Or is this commonplace in the industry?
System.Web.MVC will reach an audience that MonoRail doesn’t: The corporate giant who already swallowed the pill and will do anything that Microsoft pushes, good or bad. And a lot of consultants work firmly in this space.
I'm Ben Scheirman. I am a .NET software developer with a strong interest in agility. I work as a Principal Consultant with Sogeti.
Read more here.
email me
Ads by The Lounge
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.