views:

1130

answers:

13

Is it here to stay, or is this something just pushed out quickly as a "me too" offering, in response to the Rails community?

Is it necessary to go through the learning curve, and will the Framework move to only working this way, without the Page behind model?

If so where's the best place to pick up MVC essentials for .NET?

+4  A: 

You won't be forced to use MVC, Webforms are not going away. But it's still a good idea to learn it, because it makes you more marketable; once you've learned MVC on the .Net side, picking up Ruby on Rails or Spring or CakePHP or any one of the other numerous MVC frameworks would be significantly easier.

While Webforms may be easy to learn, MVC is everywhere and for that reason alone it's useful to know.

Adam Lassek
+1  A: 

For the last question it's already answered here SO1 and you can have other explication about it here SO2.

Daok
+3  A: 

Unless somebody has a gun to your head, no you don't have to learn .Net MVC. But you do yourself a professional discourtesy by not at least giving MVC a shot. Considering:

  1. I've seen nothing but good reviews on .Net MVC
  2. It seems to be gaining in popularity.

I think it's worth your time to give it a shot. Sometimes popular things are popular for a reason. :-)

For what it's worth, Microsoft has made it clear that .Net MVC won't replace webforms. Thus, you'll still have work doing webforms. But I would suggest at least giving MVC a shot. You never know, you make like it.

Jason Baker
+1  A: 

I don't see MVC as being a .NET technology, in fact, it isn't! It has been around for a while and there are third party providers that facilitated this for asp.net. Microsoft just jumped in the game. You should learn MVC as a good practice/new tool, then you could decide where and how to apply it to your designs. You certainly don't have to write all your asp.net apps following the MVC pattern (just like you wouldn't write all your classes using the Singleton pattern). Right tool for the right job, and the only one who can decide if it's worth learning it is you by looking at the basics and see how it fits your needs.

Best way to learn it is Scott Guthrie's blog: http://weblogs.asp.net/scottgu/

Ricardo Villamil
A: 

I've recently met a good number of long time Microsoft developers who HATE MVC, and will never use it.

I am going to use it more once there are good books out there on the subject, but it absolutely is not a "must use" technology.

pearcewg
+1  A: 

If you do WebForms development and you are perfectly fine doing that, you probably won't like ASP.NET MVC.

If, however, you sometimes feel pain when you know you ought to be TDD'ing more of your code, or you feel that there ought to be some way to separate out cross-cutting concerns, favor re-use, embrace the web as a platform, and just be developing better code, THEN you should take a look at MVC!

In my opinion the MVC model is a far better model for web development.

Oh yeah, and you should take a look at Stephen Walther's blog - it's awesome!

mookid8000
I'm not sure if the first statement you have there is generally true. I like webforms but I am also learning asp.net MVC and like it as well. They both have strengths and weaknesses.
metanaito
+7  A: 

I personally prefer MVC, it's much bettered structured and makes me a happy lad! I got to use MVC for a project at work, because it had to be finished quickly, and I believed that even though I knew no MVC, that I could learn it and finish the project quicker than I could do it using WebForms, and I was right! Learnt MVC and finished the project in a week, with a little help from Stack Overflow!

When I finished it, I had to go back to maintain some WebForms projects, and extend them, I just want to go back to MVC now!

My personal experience.

Shahin
+1  A: 

Well, this site is developed using MVC I thought.. so if this is true I think this site is proof that MVC is an excellent technology. Its not for all projects but its worth looking at as an alternative. I think if you are serious about SEO and Test Driven Development you should try MVC. Its early days but the inclusion of the jquery library and other really neat features in the latest release are signs that it is maturing.

Coolcoder
+1  A: 

If you cant stand the way Webforms works, like me :p go for MVC. It's great and lets you go back to basics html and javascript on the front end whilst still having the power of .net behind you.

qui
A: 

if using ASP.NET, yes it's definitely worthy. if not, pick Rails, ASP.NET MVC still feels like Rails'06 to me, but it's getting better pretty fast.

aprilchild
A: 

Yes, I think so.

David Leon
+3  A: 

Yes, the MVC pattern is a "must learn" if you intend to still be developing competitive, sophisticated web applications a decade from now.

You don't necessarily need to learn Microsoft's specific implementation of the pattern. You could use Castle Monorail with similar or better results, for example.

However, the general pattern will become pervasive in modern frameworks, across all platforms and languages. Even if you don't plan to use ASP.NET MVC right away, casually learning it today will help defray the eventual learning curve that will come with The Next Big Thing(tm) that you do use tomorrow.

Dave Ward
A: 

Like others say it's not a "must learn" framework, but it doesn't hurt to learn it. I recommend giving it a try, especially since the MVC framework is also used with Ruby, Python and PHP.

I'm learning asp.net MVC and like it. But, I also still like webforms. I think they both have pros and cons. For me webforms are good because they handle state in a web page. They also follow a similar event driven model that is used in Windows forms. The cons are that the HTML output is not clean, sometimes difficult to control and make your page size larger than they should be. MVC is nice because the output is clean and you have full control over the html. The con that I can see so far is that it is so easy to create an MVC application that becomes a mess of HTML and server side tag spaghetti in your View.

www.asp.net site has a good starting point to learn asp.net mvc.

metanaito