views:

273

answers:

3

Duplicate:

Should I pursue ASP.NET WebForms or ASP.NET MVC?

We are developing an enterprise application which uses client-server architecture. It is based on .NET Framework 3.5, the client is a rich WinFom application and the entire system is in Beta testing stage. We need to exposed some of this system's functionality through web. The current desktop client application, makes minimum amount of calls to the server but it has relatively medium to high amount of data transfer.

Currently the basic idea is to create a front-end layer for our system, using ASP.NET Web Forms or ASP.NET MVC. We don't have much experience with ASP.NET MVC but this technology seems very interesting and promising (at least for me).

My Questions are:

  • What considerations do you make when choosing a web development technology?
  • What may you choose for such a scenario, Web Forms or MVC?
+1  A: 

You can find lots of similar questions on stackoverflow (use the search functionality). E.g:

M4N
+2  A: 

If you want to use ASP.NET MVC Framework now, which at the moment is in beta, you run into the risk at version change that some functionality will break. You may need to condisider this as a maintenance issue.

ASP.NET MVC Framework also requires software developers to be accustomed with model-view-controller "pattern". There are a lot of pits to fall into if devs don't agree how interaction is supposed to be done between the three layers.

Unless you have programmers that can do use this you may want to consider using Web Forms instead. There are loads of documentation and resources available for Web Forms but MVC Framework has to be searched for in blogs and the little documentation that is available on the project homepage.

I've been working on the ASP.NET MVC Framework Beta myself and I can say it's been great so far. But the reason it works great for me is because I've been tinkering before with other MVC frameworks such as Ruby on Rails.

Spoike
+1  A: 

These ones are always difficult questions to answer responsibly, because every project is different, and there are always multiple factors by which technology choices are made. But it sounds to me, in this scenario, like Web Forms is "known," and MVC is "unknown," so without knowing more, you've already got a bit of a hump to overcome.

In that light, the scales are probably tipped toward Web Forms. They're tried and true, the rule rather than the exception, so while I understand the desire to learn something new, if you're on a schedule, and the product needs to be solid, they're probably the more responsible choice. It sounds to me like you'd be learning [MVC] and developing at the same time, which is fine for personal projects, but for enterprise projects, or really any project for any customer, it's asking for trouble: it could take, say, 50% longer, or even more, to build the project in an unknown (or lesser known) technology, and as well, assuming you don't grok it completely from day one, you're going to learn lessons along the way that will likely increase the need for eventual refactoring, simply by virtue of your "getting it" gradually rather than all in advance.

So if it's an important project, and it needs to be done right, and you're comfortable in Web Forms and feel like you know them well, the answer is probably Web Forms. Learn MVC on something smaller, something less critical. Your company will thank you for making the right choice for them. :)

Christian Nunciato