So ASP.NET MVC Preview 4 is about to hit the streets. I have been watching, waiting, hoping that the ASP.NET effort at copying Rails would be so compelling that I could stomach investing in .NET programming again.
The new preview 4 features:
- filter interceptors (before + after hooks for controllers)
- outputcache filters (action caching)
- handle error filters (custom error page)
- authorize filter (role-based authorization)
- accountcontroller class (wrapper to ASP.NET membership API)
- minor improvement to testing
- some ajax stuff
They are incorporating community-driven features, which is good. But I don’t think the project has anywhere near the velocity it needs. It’s taken them 2 months to get this new functionality out the door… I’m not very excited, because it’s hard not to compare what’s going on to present-day Rails, which is years ahead.
The big concerns I have about ASP.NET MVC are:
- still not opinionated enough. Rather than simplifying .NET web development, they are giving more choices
- the names they are giving features… ugh! Give me the silly Rails “plugin_fu” and “sexy_plugin” names any day vs. filter, filter, filter
- documentation not at your fingertips—maybe it’ll get there, but I bet there will never be a docs site for ASP.NET MVC as simple + easy to use as RailsBrain
- no plugin system that I’ve heard about
- not Restful… /:controller/:action/:id is so 2005. And I suppose for webservices, they still want developers to use SOAP?
I actually want the project to succeed, because it’s tough for organizations who have invested in .NET system to consider switch. And I want my .NET friends to be happier. They truly don’t know what they’re missing in the amazing Ruby community—Rails, Github, Merb, nginx/thin, Sinatra, Radiant, Shoulda, RSpec, and literally dozens of other interconnecting projects.
