views:

935

answers:

10

I found these questions, but a couple of them were a little old:

http://stackoverflow.com/questions/191556/should-i-pursue-asp-net-webforms-or-asp-net-mvc http://stackoverflow.com/questions/88787/do-you-think-asp-net-mvc-will-compete-with-asp-net-webforms http://stackoverflow.com/questions/722637/asp-net-mvc-asp-net-webforms-why

I do not believe these are duplicates and might be old enough that new light can be shed. If not please close this.

I know that no one framework or language is necessarily the only tool for every job. But, do you see MVC eclipsing webforms or webforms going lower on the priority list for Microsoft? They will have to keep webforms for a long time because so many have invested in it, but they don't have to keep adding new functionality for it.

I don't know if this is a good example, but it reminds me of web parts. I never saw much improvement in it from Microsoft. It works and I thought it was great until I started to really try and get a lot out of it. Then from what I could see it just wasn't being pursued by Microsoft that much, though it stayed in Visual Studio. Maybe that's a bad example; just what I remembered.

EDIT: Also, if anyone has any statements from Microsoft on this subject it is appreciated. No offense to anyone. I was only hoping for something official.

+5  A: 

WebForms are not going away. Microsoft gave it's developers a way to choose between traditional asp.net programming and the popular MVC way of programming. It's not competing against webforms it's just another choice for developers to use. Very Smart move from Microsoft to keep a hold of it's developer base.

RedWolves
I agree. For example, look at all the options Java developers have - jsp, servlets, JSF, struts, tapestry, Spring MVC + dozens of others - Microsoft needs to have another option for developers to keep the ASP.NET platform relevant. MVC is a great addition there.
Eric Petroelje
A: 

Just like everything else, I think further development will depend on how popular it becomes. The more people use it, the more Microsoft will likely invest in it's future.

It already seems to be quite popular, and judging from the popularity of similar frameworks in other languages (e.g. struts or rails) I think it'll continue to gain popularity.

Eric Petroelje
+13  A: 

this Microsoft answer:

ASP.NET MVC provides a framework that enables you to easily implement the model-view-controller (MVC) pattern for Web applications. This pattern lets you separate applications into loosely coupled, pluggable components for application design, processing logic, and display.

ASP.NET MVC is not a replacement for Webforms. It provides an alternative choice when designing a Web application. Using ASP.NET MVC offers the following advantages:

• It enables you to achieve and maintain a clear separation of concerns

• It facilitates test driven development (TDD)

• It provides more control over the URLs you publish in the application and over the HTML that is emitted by the application

Marwan Aouida
That's the response Microsoft is supposed to give to all the developers and businesses that invested in ASP.NET WebForms when that was the only option. Microsoft is still a business, and they have to keep ASP.NET WebForms alive to satisfy their commercial customer base. ASP.NET MVC was created to allow them to participate in the open-source arena, and try to pull some market share away from Ruby, PHP, Python and other free web development frameworks, so that their long-time customers don't completely jump ship.
Neil T.
A: 

I believe rather developers' focus of interest will shift towards MVC.

As for the practical use scenarios, WebForms will likely continue to be used for applications and rather "closed" sites, while MVC will be the preferred choice for those sites facing public (and search engines, yes).

User
+5  A: 

They both have different strengths.

MVC is great for public internet sites where precise control of the html and page lifecycle is important.

Webforms are great for corporate lan intranet sites, where development speed is critical, upstream bandwidth to the web server is plentiful, but memory on the server is more constrained.

Honestly, more asp.net programmers are probably doing the latter than the former.

Joel Coehoorn
+1  A: 

I think ASP.NET MVC allows building much more maintainable applications. It also allows for automated testing of a very large part of the code.

If a website is reasonable in size and/or is going to have a reasonable life span then MVC plays a very good role.

I understand the argument of SEO for public sites, but I think the benefits of MVC make it excellent candidate for even intranet applications. Perhaps with some good collection user controls i.e helper methods, MVC can start dominating the field.

Puneet
A: 

See my response last time:

Is ASP.NET MVC swept under the rug to make room for MVC?

Zhaph - Ben Duguid
A: 

i am just developing an very rich UI aplication. Well, when u want to add ajax and such. When u want to make calls to webservices and such, and when u have small partial rendering then webforms are just not an good idea. My experience tells me that all that can be done with webforms, can also be done with mvc - mvc is far better for easier implementation and u have full control that is just not the case with page lifecycle that is complete disaster for making some nice controls (unless you make custom controls). Style attribute which is completely of top importance for anything reasonable - is not supported. All this would be much easier if people could have some helper methods to do things in page init and such. Ajax and similar techs work completely different so page lifecycle is off.. Postback is a nice thing - but ajax postback is far better. After all web is different then windows apps. Ruby, PHP, Python, Java - they all have far better frameworks for web development. As for me.. right now i started in web forms. i will my project in webforms and ASAP i will recode everything to MVC. The only good side of a web forms is control state recreation but it is far more easier to make such an logic then to create controls and then oninit, onbind and anything dynamic (what is not dynamic today?) is an nightmare.

Vjeran
A: 

It is bad for Microsoft because now they need to maintain two technologies. It is bad for developers because now the things we have to learn and update are doubled. It will create a competition environment inside of Microsoft. This is the first sign of Microsoft will collapse. “If a kingdom is divided against itself, that kingdom cannot stand. If a house is divided against itself, that house cannot stand.”

A: 

I believe ASP.NET MVC is not here to replace WebForms.

Instead it will give an alternative for ASP.NET developers who want to develop with separation of logic and view in mind, as well as performance and ease.

trace