views:

376

answers:

5
+1  A: 

To answer #3 - yes, you're using one right now :o) What Was Stack Overflow Built With?

roryf
Cool :) ! Didn't know that. +1 for that.
Galilyou
+1  A: 
  1. Yes it will scale well to large systems, certainly better than Forms.
  2. Depends, developers already well indoctrinated into ASP.NET Forms may find the transition difficult. Classic ASPers may find it strangly familiar in some aspects. If the developers are well grounded in how HTTP works and the benefits of the general MVC approach it shouldn't be a big problem.
  3. You are using one
  4. Using Unit tests is the key to getting the most benefit from MVC, it will save you masses of time, in debugging.
AnthonyWJones
A: 

The most interesting question in my opinion is #4 - how can using ASP.NET MVC save development time?

It can, by allowing you to build an application framework, upon which all your features and functionality is built.

Ayende has a really interesting post about this.

I think many ASP.NET MVC developers will agree with me that ASP.NET MVC is by no means ready for building features of complex applications - you must put some effort into fitting the framework to your application, and only then can you begin to actually gain an advantage from using it.

mookid8000
I agree that MVC is not ready for complex work applications only on the grounds that it lacks proper documentation. The code base itself is ready for full on use IMO.
AnthonyWJones
Sure, I think you misunderstood my point - or I was not being entirely clear on this. My point is that ASP.NET MVC does not make you productive as it is, like e.g. Ruby On Rails. ASP.NET MVC is sort of a framework for building application frameworks, upon which the actualy application can be built.
mookid8000
IMO this is a good thing, it allows you to fit the MVC framework to your specific needs. I think in the past Microsoft has really screwed up when its tried to set 'conventions', they work for Hello, World but nothing more complex. I'd rather make my own conventions, or let the community make several
roryf
Exactly! I think in the future there will be several projects like S#arp Architecture - i.e. attempts to build more ready application frameworks out of ASP.NET MVC.
mookid8000
+5  A: 

If by productivity your manager really means "how long will it take to write feature X?" then quite possibly you will not be as productive in the short term with ASP.NET MVC. However, the much better seperation of concerns in the framework, when compared to webforms, means it is much easier to test and write well structured code for.

This will give you improved long term productivity but probably at the expense of short term productivity. If you can get your manager to see past this then you're on to a winner. Good luck with that one!

To answer your direct questions:

  1. Will it scale?
    • Definitely, it's built upon the highly performant ASP.NET framework and doesn't bring a lot of the Webforms baggage with it.
  2. Is it going to be easy for developers to pick up in a short period "weeks"?
    • Depends on the current skillset of your developers. If they are familiar with web development and the MVC pattern it should come to them easily. If they are only familiar with ASP.NET Webforms drag-and-drop-with-some-code-behind then they will have a whole new paradigm to learn which will take time.
  3. Are there any real life systems that are built using ASP.NET MVC?
    • This site is a great example of one.
  4. How can MVC save some developing time over ASP.NET?
    • Covered in my initial answer. However, it can also save time in the long run as you don't really lean on the framework very much so you won't code yourself into a corner of workarounds which can happen frequently with Webforms.
Garry Shutler
Should deserve another +1 for "code yourself into a corner of workarounds" :-)
Nelson Reis
A: 

It definitely scales. But productivity compared with webforms? Unless you are really bad at webforms, it's no brainer that webforms are light years faster in RAD terms.

Yes, nice TDD for ASP.NET MVC, but you have to realize that you are testing a lot of stuff which are built-in with webforms such as gridview, and all those nice drag-drop custom controls. You save big time not have to test those built-in controls when you are doing webforms while in MVC you crank up your own and yes you better write tons of more code to test them. So the gain on testability is really an illusion.

I will not jump into MVC until I see something similar to gridview type of RAD.

It also helps if you know CodeSmith and you can automate all the tedious, repetitive code in MVC. TDD code once, then create a CodeSmith template, then you just generate your code.

Jiang