views:

330

answers:

8

Now that ASP.NET MVC has had its official release, should I be looking into it for my team?

We're quite a small team (6 developers), developing mainly in-house applications for administrative teams.

Any, and all, advice is appreciated.

+7  A: 

It is definitely worth looking into, most things are. Create a few test applications to get a feel for it and to see if it is a good fit for your team and the types of projects you work on.

Remember that there is no such thing as a silver bullet and not all tools are meant for all projects. MVC (in general, not just specific to Microsoft's ASP.NET implementation) is a nice way of developing certain types of applications but it can be a pain to use in the wrong situations (i.e. sites that use forms for data entry with lots of fields). As in all things remember that ASP.NET MVC is just another tool in your workshop.

As a final note I would strongly suggest that you include your whole team on the evaluation of ASP.NET MVC as you want to make sure that everyone likes and is comfortable using the new platform.

Andrew Hare
I agree, but I think that it should be stressed that you should NOT use this on an actual project until your development team is comfortable with the technology, especially since it seems you are all comfortable with web forms.
Thomas Owens
Really good advice. I've started to put together some material for the team and we're going to have go on some small test sites before making a joint decision on MVC. Thanks!
littlechris
A: 

Our team is about the same size as yours and we are considering using MVC. The issues as far as we're concerned are the extra time it would take to develop a new in-house application in MVC and whether or not to update existing applications.

For us it is a matter of finding an application that has a deadline that isn't too tight at which point I think we've agreed to give it a go.

As for existing applications - if you can talk your paymasters into letting you update then I'd say go for it - I don't think we can which is why we have to wait for a project that would allow for the extended time scales and benefit from the listed advantages over webforms.

David A Gibson
A: 

IMHO, it's worth looking.

It's definitely a new approach that most .Net developers are not used to, but sometimes using something we are not used to make us better developers.

The Java community had a problem with to many web frameworks with different approaches, but I think that helped the community. Nowadays, the Java developers have many different matures options for web development (including Rails via JRuby).

razenha
+3  A: 

I like design patterns. I like utilizing those patterns in my applications. I like automated testing.

MVC allows for a far easier ability to do automated testing of your application's logic layer. I love watching Hanselman's videos on using Rhino Mocks and MSTest on an MVC application just to see it in action. My development environment is enterprise level applications in-house for a large corporation. We have a build process for audit-ability. To be able to kick off a build, allow it to run my unit tests, and discontinue if one or more tests fail is invaluable. This allows me to make sure that any changes to the application will not introduce another bug into my application for my users to require assistance with, whether it is a crashing bug or a logic error.

Testing is invaluable in it's own right and WebForms have to be the hardest to really test fully. I think that the real value in the MVC Framework is the ability to separate responsibilities and be able to run tests without having the baggage of having to instantiate all the stuff required just to make a web page load.

Tacoman667
Thanks for this one. Testing is obviously something really important, though some times overlooked with time constraints. I'm up for anything that helps improve testability.
littlechris
+2  A: 

Rob Conery has got a pretty nice article about the benefits of learning MVC.

kay.herzam
A: 

Yes, it is definitely worth taking a look at but only if you want to work with ASP.NET and don't like the (leaky) web forms abstraction. MVC leads to better separation of responsibilities and it will really shine if you love TDD. It might not be what you want if you're used to RAD environements.

Luis Abreu
+1  A: 

Take a look at ScottGu's tutorial and decide for yourself.

Pablote
Appreciate the link to big "Gu"
littlechris
A: 

If you've used WebForms to do any number of things and thought "wouldn't it be nice if I could have clean URLs easily" then YES YES YES.

I work for a marketing agency and I'm half way through producing my first site using MVC (rather than WebForms with a URL rewriting module) and it's so much easier, and better, and nicer, and exactly what I want!

Greg B
I just hate it when someone asked about the advantages of ASP.NET MVC all (s)he can find to say is clean URLs. Those can be obtained in Webforms via System.Web.Routing or UrlRewritting.NET and so on.
Andrei Rinea
Thanks for the constructive moaning Andrei. Where is your list of Pros and Cons?
Greg B