Si se preocupan por la extensibilidad, facilidad de mantenimiento, escalabilidad y robustez de su aplicación, así como el desarrollo de sus habilidades de desarrollo de software, y luego quedarse en la medida de lo más lejos posible de los formularios web.
La idea de agregar una capa de estado envolviendo todo en un formulario es simplemente incorrecta. HTTP es sin estado, y MVC se basa en ese modelo, lo cual es bueno.
Editar En cuanto a los comentarios formulados. Las aplicaciones de formularios web no son extensibles porque la capa de presentación, la lógica comercial y el código de acceso a datos (orígenes de datos) residen en el código subyacente. Los controles que se ofrecen mediante formularios web solo son aplicables en formularios web. Esto significa que no podrá transferir estas habilidades a otro marco de desarrollo web.
Finalmente, por supuesto, es posible escribir una aplicación estrechamente unida utilizando MVC: siempre hay una forma de destruir algo. No hay discusión sobre eso. El punto principal es que MVC alienta una separación de preocupaciones y un principio de responsabilidad única, cuando los formularios web prácticamente se lo quitan.
También ha dicho que los formularios web son más fáciles. Es más fácil si lo ha estado usando y es más rápido recogerlo en comparación con MVC, sin embargo, en una ejecución a largo plazo, es probable que MVC sea "más fácil". Vea algunos videos en www.asp.net/mvc. Además, es posible que desee examinar el desarrollo impulsado por pruebas (pruebas unitarias). No creo que las pruebas unitarias funcionen con formularios web porque todo está muy unido. Por favor corrígeme si estoy equivocado.
Me interesaría mucho escuchar opiniones de otros desarrolladores que tengan experiencia trabajando con ambos frameworks.
"Usar la inyección de dependencia es" difícil "de usar/implementar" - ¿Cómo es eso? Inyectar dependencias en 'Page' es notablemente fácil y similar a configurar una fábrica de controladores http://aspnetresources.com/articles/ioc_and_di_with_web_forms – jfar
Lo siento, pero para mí, usar nuget para" instalar "ninject en mi mvc proyecto (que luego utiliza WebActivator para insertar dependencias sin problemas en mis controladores) es más intuitivo que la implementación de un PageHandlerFactory personalizado. Tengo una solución que se ejecuta parcialmente en mvc y parcialmente en formularios web, y terminé usando un patrón ServiceLocator para formularios web. No puedo cambiar la clase base a mis controles/páginas, y quería mantenerlo simple. Uno definitivamente puede hacer que funcione, pero encontré MVC más fácil de configurar. – Jason
@Jason - Hay un paquete nuget Ninject para formularios web. No veo cómo esto es diferente o más intuitivo desde MVC. – jfar