I found these questions, but a couple of them were a little old:
https://stackoverflow.com/questions/191556/should-i-pursue-asp-net-webforms-or-asp-net-mvc
Do you think ASP.NET MVC will compete with ASP.NET Webforms?
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.
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
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.
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.
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.
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).
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.
See my response last time:
Is ASP.NET MVC swept under the rug to make room for MVC?
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.
The introduction of .Net was bad for developers that had mastered VbScript, ASP Classic and being the few elite that could actually debug in Visual InterDev.
MVC is bad for those continuing on the path of WebForms only.
Pretty much by this time you should be able to recognize the hand writting on the walls as to whats coming down the pike.