2010-05-11 7 views
8

Revisé MVC hace meses y realmente no lo entendí ... pero recientemente, como me he convertido en un mejor programador, creo que tiene sentido ... Aquí está mi teoría ... dime si lo entendí bienWebforms vs. MVC. Una vez que comienzas a usar MVC ... ¿Alguna vez vuelves a los formularios web?

En los años 90 para Microsoft Devs teníamos ASP clásico. Esto combina VBscript y HTML en la misma página. Por lo tanto, necesitaba crear todo el HTML usted mismo y mezclar HTML y VBScript. Esto no se consideró Ideal. Luego apareció .NET y a todos les gustó porque era similar a la programación estilo VB 6 impulsada por eventos. Creó esta abstracción de datos vinculantes para controles ASP Servier. Hizo que obtener datos enumerados fuera fácil de ver en la pantalla con una línea. Luego, recientemente, los conceptos de Jquery y SOA se mezclan ... Ahora la gente piensa ... ¿Por qué crear esta capa extra de abstracción cuando puedo usar directamente .NET como proveedor de datos y usar las llamadas jquery AJAX para obtener los datos y crear el HTML con directamente .. no hay necesidad de que los formularios web capa de abstracción ..

Sowe están de vuelta a la creación de HTML directamente como lo hicimos en 1999.

Así MVC es todo acerca de decir dejar de fingir como la programación web es una aplicación VB6! ¡Genera HTML directamente!

¿E-mail perdiendo cualquier cosa?

Así que me pregunto ... para ustedes, la gente que usa MVC ... ¿es el tipo de cosas que una vez que te acostumbras nunca quieres volver a las formas web?

+1

Aunque creo que hay una respuesta correcta a esta pregunta, dudo que todos estén de acuerdo conmigo. Estás pidiendo opiniones y convenciones sobre SO para ese tipo de pregunta es para convertirla en wiki de la comunidad, aunque a veces este tipo de preguntas también se cierran. – tvanfosson

+0

Wiki de la comunidad - de SO PREGUNTAS FRECUENTES: "Evite hacer preguntas que sean subjetivas, argumentativas o requieran una discusión extensa. Esto no es un foro de discusión, ¡este es un lugar para preguntas que pueden responderse!" –

+0

Sí, es un punto de discusión interesante . Los formularios web hicieron que a los desarrolladores de formularios de winform con estado les resulte cómodo abrazar el mundo de la programación web sin estado. Atrajo a mucha gente a Asp.Net porque era productivo. Classic Asp tenía poca o ninguna ventaja sobre los lenguajes como php. (publicado como comentario, porque no es realmente una respuesta) – Armstrongest

Respuesta

5

Dios, amo MVC tanto que ni siquiera creo que las palabras pueden captar lo que siento :)

De tiempo empleado en el desarrollo de algo punto de vista, creo que MVC y WebForms son iguales.

En WebForms me gustaría pasar muchas horas peleando con DataGrid y otros controles para hacer lo que quiero y cómo lo quiero. Y sin mencionar muchas horas reemplazando a UpdatePanels con jQuery de sitios donde ya no era una solución viable (en cuanto al rendimiento).

En MVC empiezo con una pizarra en blanco y la moldeo para adaptarla a mis necesidades. ¿Necesito decir mas?

EDIT: acabo de encontrar http://aspnetmvc.componentart.com/

+0

wow esos son algunos hermosos diseños en ese sitio web. También es bueno hacer referencia a ellos por alguna razón, ya que le permiten imitar su estructura. Si ve el origen de la página, puede crear el mismo o incluso mejor diseño sin pagar una tarifa de suscripción. Es muy fácil crear tus propios HTMLHelpers. ME ENCANTA MVC: D – Ayo

0

MVC se trata de darle la ventaja de diseñar su aplicación web utilizando el patrón Modelo-Vista-Controlador, es decir, separación de preocupaciones, no se trata de forzarlo a escribir HTML manualmente.

+0

Es cierto, pero por extraño que parezca, es la separación de controles lo que te obliga a escribir el html. Permitir que Html lo haga, separándolo de cualquier lógica que escribiría los corchetes angulares para usted. Veo su punto, sin embargo. – Armstrongest

+0

I tihnk Me gusta hacer el HTML yo mismo. Pero, ¿dónde están las plantillas oficiales de jquery para el cliente de microsoft? – punkouter

+0

@Atmoiton: aun así puede usar un diseñador visual, no es como si * tuviera * que escribir el HTML manualmente. @punkouter: Estoy de acuerdo en que siempre escribo mi HTML a mano, el uso de diseñadores generalmente agrega una gran cantidad de marcado innecesario. – James

0

Creo que te hace pensar más sobre lo que estás haciendo: en los formularios web fue muy fácil colocar un panel de actualización y tener una página de estilo AJAXy sin pensar realmente en el rendimiento. Con MVC, es mucho más limpio hacer llamadas AJAX enfocadas a través de jQuery a acciones de un solo controlador: todo es mucho más ligero.

No hay que preocuparse por la estructura del evento de la página y no hay que confiar en Viewstate: creo que esto en general lo empuja hacia un mejor código.

+0

Y SL4 se está moviendo hacia MVVM. Entonces, creo que cualquier cosa que me obligue a usar mejores patrones debería probar. – punkouter

1

Hay ocasiones en las que me gustaría poder conectar una grilla o un lector de datos, conectarlo y simplemente funciona, como lo hice en ASP.NET. Hacer aplicaciones en ASP.NET MVC es posiblemente más trabajo. Pero luego recuerdo todas las cosas insignificantes con las que tuve que lidiar en ASP.NET, como ViewState, código subyacente y magic id's. El canal de renderizado de páginas era tan opaco para mí que nunca me he acostumbrado a usar correctamente los eventos de código subyacente.

ASP.NET MVC parece más limpio y mejor organizado, y tengo un control mucho más fino sobre mi aplicación y su marcado.

Dicho esto, me complace que pueda entremezclar páginas ASP.NET y ASP.NET MVC, porque hay algunas cosas que no puede hacer en ASP.NET MVC, como usar controles de servidor. Las nuevas mejoras en ASP.NET 4.0 deberían facilitar a los desarrolladores de ASP.NET dedicados la producción de aplicaciones con un control más preciso de su marcado.

+0

Por lo tanto, como experimentado MVC dev .. ¿Por lo general, desea simplemente hacer sus aplicaciones ASP.NET con MVC a partir de ahora? – punkouter

+0

Sí, en general. Pero hay algunas aplicaciones ASP.NET existentes que deberán integrarse en mi aplicación actual, y dudo que se reescribirán desde cero. Ese es el problema, ya ves. ASP.NET MVC es bastante diferente estructural y filosóficamente de ASP.NET, y su tienda ya tiene una inversión sustancial en ASP.NET. –

+1

problema con MVC son los beneficios de usarlo vienen en el tiempo ... Así que el jefe no tecnológico que quiere saber por qué debo usarlo no quedará impresionado por esa respuesta. – punkouter

1

Lo veo como los formularios web son una forma rápida y sucia de poner en marcha un sitio con funcionalidad compleja. Permiten que el desarrollador no se enfoque en muchos aspectos del controlador al permitirles usar herramientas que tienen una sobrecarga elevada para el usuario (estado de visualización, paneles de actualización, etc.).)

MVC aunque requiere un poco más de planificación desde el punto de vista de los desarrolladores ofrece un mejor producto para los usuarios sin mucho "ajuste" por parte del desarrollador al intentar modificar la funcionalidad de la herramienta de forma de red.

Sin mencionar que MVC permite una fácil integración de TDD, obviamente eso es una ventaja para proyectos más grandes con múltiples desarrolladores.

MVC sería la herramienta adecuada para la mayoría de los sitios de alto tráfico de producción, pero Webforms podría ser la herramienta ideal para hacer prototipos rápidos y stubs experimentales.

0

Algunos de nosotros tenemos que. Trabajo con varios clientes diferentes, y aunque mi proyecto más reciente estaba usando MVC, ahora estoy de vuelta mirando un paquete de aplicaciones que incluye tanto Webforms como asp clásico.

Y todo lo que puedo decir es que la transición de regreso es muy, muy dolorosa.

Cuestiones relacionadas