Question

I watched this webcast recently, and I got the sense that a lot of the "cool stuff" from ASP.NET MVC is getting pulled back into the ASP.NET framework.

At the moment I'm setting the ground-work for a project at my company using ASP.NET MVC, but after watching this, I'm beginning to wonder if that's the right choice, and whether it would behoove me to wait for ASP.NET 4.0.

I realize ASP.NET MVC 2.0 is getting close to an actual release.

If High-Testability, loose coupling, and having Full control of our HTML are top priorities, which should I choose, ASP.NET 4.0 or ASP.NET MVC?

Was it helpful?

Solution

Well your question doesn't really make sense to me.

You're asking whether or not to go with ASP.Net MVC or ASP.Net 4.0 - do you mean WebForms?

MVC 2.0 will be shipped in the box with VS 2010 and as such same time as .Net 4.0 AND ASP.Net 4.0 - also ASP.Net MVC is a part of ASP.Net.

If you wish to use the .Net 4.0 runtime and all the features of ASP.Net 4.0 - what's wrong with doing it WITH MVC?

Also, I'd suggest building onto the MVC 1.0 now and structure your app in a such way that you can easily migrate to and embrace the new features in MVC 2.0 as you already know how most of these will work that shouldn't be too much of an issue. Or if your release is after the release of ASP.Net MVC 2.0, simply start using it now - unless that poses other issues.

OTHER TIPS

If your application will be released after the March release date, then it's a no brainier. Go with ASP.Net 4.0.

If it's not, then it not quite as clear. My current company is facing the same issue. Do we go with .Net 4.0 or not. For us, our solution is hosted internally, so we don't have the problem of releasing a product on a unreleased platform. Our biggest concern is the changes from beta2 to RTM.

As a developer I'm always wanting to move to the newest platform. A company has to consider it's clients and the risk to move to a new platform. Most of the time caution is more prudent then being the first to jump.

ASP.MVC 1.0 is supported and released. It's a great web framework. If you are not looking for specific features in ASP.MVC 2. Then use ASP.NET MVC 1.

If your criteria include this:

We are aiming for high testability, loose coupling, and "controlled HTML" -- to me that meant ASP.NET MVC.

Then ASP.NET MVC is a must. Even with ASP.NET 4.0, you can't get around the fact that ASP.NET is hard to test for without a lot of extra leg work that just isn't there for MVC.

I use ASP.NET in my 'day job', but at night time I'm ASP.NET MVC all the way. ASP.NET 4.0 still hangs on to the legacy "Code-Behind" and the View/Controller coupling that goes on with ASP.NET Controls. These are things that make it much harder to test, and are 'tightly coupled' by definition.

Go with whichever makes the most business sense. We always feel like waiting for the next best thing...but if we did we'd never get anything accomplished.

Choosing a presentation pattern for a new or enterprise web development on the Microsoft platform is a daunting task, in my opinion there are only three; View Model, Model-View-Presenter (MVP) or ASP.NET MVC (a Model2 derivative).

You can read the full article here ASP.NET MVC Patterns

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top