“Microsoft launched ASP.NET MVC 1.0 at the MIX09 event last month. This new ASP.NET enhancement brings a Rails-like model-view-controller framework to Microsoft’s Web development stack. In a blog entry published on Wednesday, Microsoft developer division vice president Scott Guthrie announced that the framework is now open source. The source code is available under the terms of the Microsoft Public License (MS-PL), a permissive open source software license that has been approved by OSI and is characterized by GNU as a free software license. Microsoft’s move to open the framework will enable third-party developers to modify the source code, incorporate it into their own software, and share it with other users.”
They got Phil Haack (dev lead on the fairly popular open source blog Subtext) to be project manager, did about 8 “code drops” to codeplex during the dev cycle, and actually listened to developer feedback and incorporated changes based on that into the platform in an iterative fashion.
I find the end product a bit clunky at the end of the day (compared to things like rails or django), but this is one of the things that gives me hope about Microsoft, and their complete inward focus.
A bit clunky yes, but so much more intuitive than the page cycle based asp.net model which to this day (after 6 years or so of using it) still gives me fits. I always have a cheat sheet up in my cube outlining all of the page cycle events.
IMO the sweet spot for ASP is small to mid-range line of business apps. If you buy a control suite like DevExpress, you can slam together very high levels of functionality very quickly.
As soon as you step outside of that, it just becomes not worth it. Nowadays I am writing templated server controls for our in house designers to use. I do have a handle on the lifecycle, but unit testing anything we do tends to be 20x more complecated then the actual code.
Whenever I do anything in MVC, I just end up getting frustrated. I would use it over WebForms for anything other LoB apps in a heartbeat, but after learning rails and django there are things about it that just piss me off. Like the whole ViewData thing, the clunky code generation, the lack of any sort of persistence story for the model, and immature helper and validation story. The whole thing would have been less painful and alot more enjoyable if it had been designed from the ground up on IronPython or IronRuby
Edited 2009-04-03 19:53 UTC
Personally I love the ASP.NET model. It makes developing for the Web much more natural than any other model I tried.
I would brrrrrr if someone told me, all of sudden: forget the WebForm model – now it’s all MVC…
Guess it’s a matter of taste but I don’t see any reason to move on now that Internet connections are getting faster and can support those huge ViewStates better
They should have released the ASP.NET code – who cares about something build on top. Might as well have kept it closed tbh.
The whole TomTom farce just strengthens my view on .net on linux. DONT DO IT! RAND isn’t good enough!
Edited 2009-04-03 19:15 UTC
System.Web became freely readable about a year ago. Not open source, but covers about 90% of any practical use a person who uses it could get out of it.
.NET isn’t under RAND, it’s under Zero-Cost RAND (aka RAND-Z). There’s a huge difference when it comes to Free Software.