One of the real tragedies in adult life is that some times you get a new toy before Christmas and your adult responsibilities preclude you from getting to play with it. Such is the case with the new MVC Framework for ASP.NET which I was as excited as anyone about but which I haven't gotten to spend more than an hour or so with due to gift shopping/travel planning/etc...
That said I have gotten to play with it a little and there was something I wanted to say. A while back, Mads Kristensen made a post about the MVC Framework entitled "Dangers of the new ASP.NET MVC framework". In it he said...
Because the MVC framework is a much stricter environment it will have effect on who is going to use it. The professional and hardcore developers will love it for all its advantages, but what about the hobby developers? To say it in another way, if the MVC only attracts the great developers what will happen to the good ones?
The great developers care deeply about abstraction and testability and they will probably use the MVC framework for any new project they start building. The good and hobby developers probably won’t – in fact they might never feel attracted due to the strict nature of the framework. They might think of it as more complex which I would agree with to some extend.
If we for a moment believe that it is what’s going to happen, then we end up with a developer divide in the ASP.NET work force. Some companies hire MVC developers which now only covers a portion of the work force. The other companies who use standard ASP.NET might not be attractive to MVC developers and will only reach the other portion. With the current developer labour shortage where both great and good developers are needed I can foresee trouble.
He goes on to talk about how he foresees a divide in the developer community where professional developers no longer interact with hobbyists because they each have their own community based on their own specific flavor of ASP.Net
I have to admit, when I read this post I thought he was over reacting. But having taken some time with the framework I have to say he had a darn good point.
It isn't that a lot has changed but what has changed is the most fundamental parts of the ASP.NET environment. The Web Forms way of doing things almost completely revolves around its handling of state while the MVC doesn't use any of that infrastructure. Worse yet, I honestly don't have a solution to the problem he presents. How do you get people to interact on what they have in common while being separated by what they don't?
What I would suggest is that Microsoft needs to work on branding the MVC Framework in a way that will let newbies know the difference between it and traditional Web Forms because once MVC books start hitting the market there's going to be a lot of confusion out there in the hobbyist/starter category. Given the confusion that is probably guaranteed to come from this they should at least try to negate any confusion that they can. Beyond that I guess we all just have to wait. Maybe one standard will take over or maybe the MVC Framework will finally draw some of those Rails developers over to the dark side and create a community twice as big (so that the split won't matter). I don't know but it should be interesting to watch.