2008-09-03 22 views
21

Como alguien con algunas winforms y experiencia en aplicaciones cliente, ¿vale la pena volver atrás y aprender de la forma en que funcionan las páginas ASP .NET tradicionales, o está bien pasar directamente a ASP .NET MVC?ASP .NET Web Forms tradicionales vs MVC

Estoy buscando trampas o trampas en mi conocimiento de C# general, que no sabré de la serie de screencast y cosas en el sitio ASP .NET.

+0

Ver también http://stackoverflow.com/questions/102558/biggest-advantage-to-using-asp-net-mvc-vs-web-forms?lq=1 – nawfal

Respuesta

40

Aquí está lo mejor de MVC. Funciona más cerca de la base del marco que los formularios web ASP.NET normales. Entonces, al usar MVC y comprenderlo, comprenderá mejor cómo funcionan los WebForms. El problema con WebForms es que hay mucha magia y unos 6 años tratando de hacer que la Web funcione como Windows Forms, por lo que tiene la jerarquía del árbol de control y todo lo que se traduce a la Web. Con MVC obtienes el núcleo sin la influencia de WinForm.

Así que comience con MVC, y podrá mudarse fácilmente a WebForms si es necesario.

+2

comenzar con MVC y luego pasar a WebForms? tan estupido . es como ir 1 paso forwrad y 3 atrás – Zakos

4

ASP.Net Webforms es una abstracción completamente diferente del marco base que ASP.NET MVC. Con MVC tiene más control sobre lo que ocurre debajo de las cubiertas que con los formularios web de ASP.NET.

En mi opinión, aprender diferentes formas de hacer las cosas generalmente te hará un mejor programador, pero en este caso podría haber cosas mejores que aprender.

1

IMO, hay más trampas en escenarios de formularios web normales que con solo MVC. Viewstate y databinding pueden ser difíciles a veces.

Pero para MVC, es simplemente simple forma de publicar/render cosas de la vieja escuela. No es que sea malo, es simplemente diferente y también más limpio.

1

Realmente no puedo hablar técnicamente sobre MVC vs "tradicional" ya que solo he usado el modelo tradicional hasta ahora. Por lo que he leído, no creo que uno sea muy superior al otro. Creo que una vez que "lo entiendes", puedes ser muy productivo en ambos.

Prácticamente sin embargo, tendría en cuenta que la mayoría de los libros, ejemplos de código y aplicaciones existentes están escritos para la forma "tradicional". Tiene más ayuda disponible y sus habilidades serán más útiles para los empleadores con aplicaciones existentes escritas de la manera "tradicional".

+2

No estoy de acuerdo con el argumento de ejemplos de código. MVC es HTML/Javascript que trabaja contra métodos de C#. El control web se saca de allí y no se reemplaza * realmente con otra cosa. Como cada tecnología web funciona con HTML y puede (debería) funcionar con javascript, he encontrado soluciones a mis problemas mucho más rápido que averiguar cómo hacer algo con un control asp.net. –

+0

Solo hay algunas cosas nuevas que uno debe aprender para comenzar con ASP.NET MVC si tiene experiencia clásica en ASP.NET, y una gran cantidad de cosas que puede olvidar. –

8

Estoy de acuerdo con Nick: MVC está mucho más cerca del real del paradigma web y al usarlo se encontrará con la forma en que realmente funciona su sitio web. WebForms aleja la mayoría de estas cosas de usted y, viniendo de un fondo de PHP, lo encontré realmente anti-intuitivo.

Le sugiero que vaya directamente a MVC y omita WebForms. Como se dijo, podrá volver si es necesario.

2

Depende de tus motivaciones. Si va a venderse como desarrollador de ASP.NET, necesitará ambos.

Si esto es solo para su propio placer, vaya a MVC.

Mi sensación personal es que los formularios web estarán presentes por algunos años más. Mucha gente tiene tiempo y energía invertida en ellos. Sin embargo, creo que la gente lentamente (¡o tal vez no tan despacio!) Migrará. Webforms siempre fue solo una forma de obtener drag-and-drop VB4 morts para pensar en el desarrollo web. Funcionó muy bien pero le quita mucho control.

0

Si no sabe cómo o no tiene experiencia con la solicitud/respuesta web de nivel sin formato y la representación de html/css sin formato, entonces MVC sería un buen lugar para comenzar. A continuación, comprenderá mejor los pros y los contras de ambos formularios web y mvc. Ambos estarán presentes en el futuro ya que ambos abordan necesidades diferentes.

Aunque diré que webforms es una plataforma muy mal utilizada y abusada. Gran parte de la basura de "mirar sin código" le da mala fama a todos los que la usan. Dedique el tiempo necesario para entenderlo y usarlo correctamente y encontrará que se trata de una plataforma muy extensible y sólida.

2

ASP.NET MVC es para desarrolladores que desean desacoplar el código del cliente del código del servidor. He querido escribir JavaScript, XHTML, CSS clientes que pueden pasar de un servidor a otro (sin importar la tecnología del servidor). A los clientes les lleva mucho tiempo ajustarlos y terminarlos, así que querrá usarlos (y los subcomponentes) para tantos servidores como sea posible. Además, este desacoplamiento le permite a su servidor soportar cualquier tecnología de cliente que soporte HTTP y corchetes angulares (y/o JSON) como WPF/Silverlight. Sin ASP.NET MVC te forzaron a tener una relación hostil con todo el equipo de ASP.NET --- pero Scott Guthrie es un tipo genial y trae MVC a la mesa después de años de sus predecesores (y tal vez el propio Scott) casi totalmente enfocado en hacer que los programadores de Windows Forms escriban aplicaciones web.

Antes de ASP.NET MVC, construí aplicaciones ASP.NET basadas principalmente en archivos ASHX --- controladores HTTP. Puedo asegurarle que ninguna tienda de Microsoft "real" fomentaría este comportamiento. Es más fácil desde una perspectiva de administración (sabia) dictar que todos sus desarrolladores utilicen la forma recomendada por el vendedor de utilizar las herramientas del proveedor. Entonces, las tiendas de TI que tienen uno o dos años de retraso requerirán que conozcas la forma de hacer las cosas antes de MVC. Esto también es útil cuando tienes un sistema "heredado" para mantener.

Pero, para el campo verde, ¡es MVC todo el camino!

Cuestiones relacionadas