2010-12-13 7 views
7

Soy un chico de front-end que ha recogido ASP.NET WebForms trabajando en varios proyectos en mi agencia.¿Conoces MVC en un nuevo proyecto o te apegas a WebForms?

Tengo un proyecto con un desarrollador en mente, y quiero usar/aprender MVC para él, pero él piensa que no vale la pena usar MVC en absoluto. Su opinión es que se perciben los beneficios de MVC, y que el rendimiento no será un problema, y ​​es mejor seguir adelante con WebForms.

El proyecto es una aplicación web que proporcionará a las personas herramientas de planificación de proyectos, la creación de una base de datos de contactos personales y su propio sitio web básico.

Mis sentimientos personales son que odio todo el engorro que viene con los sitios de WebForms: el ViewState, el único, los enormes archivos JS, la falta de control del marcado (por ejemplo, controles de validación).

Obviamente, ASP.NET WebForms está vinculado a los recursos, pero MVC se trata de estructuras de URL e interpretarlas.

Después de la discusión y la investigación, estoy pensando que debido a la curva de transición/aprendizaje supuestamente grande de MVC, es mejor quedarse con WebForms.

Vi a Ryan Singer trabajar en persona con RoR MVC, y me sorprendió lo rápido que todo se desarrollaba.

¿Debo simplemente aceptar que es más práctico y productivo seguir WebForms ahora, y no usar MVC, o debería encontrar la manera de convencer a mi compañero de trabajo de que MVC es lo correcto?

+0

Disculpas, Ian, por la gramática pobre e inconsistente. Tenía prisa por publicar antes de ingresar a una reunión. Gracias por la edición, aunque un poco pedante. –

Respuesta

6

Recomiendo encarecidamente la parte frontal de ASP.NET MVC. ¡Tal vez lleva un poco de tiempo entrar en ella! Pero ciertamente ha sido eso. Si, por ejemplo, vuelve a cambiar algo en retrospectiva, es mucho más flexible y fácil.

Lo usaría con LINQ, por ejemplo, si está utilizando una base de datos.

ASP.NET MVC puede parecer muy difícil al principio, pero una vez que lo hace puede realizar proyectos mucho más rápido. Ciertamente es mi opinión.

Otra cosa buena es que hemos creado un buen soporte para Test Driven Development.


Editar(explicación añadida):

Una de las razones es que se construye MVC es 3 partes Modelo, Vista y Controlador. Esto significa que puede compartir la lógica del marcado de una buena manera. No entraré en detalles sobre cómo se construye MVC aquí, ¡ya que este es un capítulo propio! (http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controlle r)

Y como mencioné anteriormente, entonces tiene un soporte muy bueno para TDD, lo que personalmente hago es que puedo usar esto solo por este motivo. El enrutamiento de URL en ASP.NET MVC también es bastante fanático, y me he perdido una buena asistencia en ASP.NET. ScottGu ha escrito un blog muy bueno sobre esto: http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

+0

¡Y ve con la navaja de afeitar! – Zote

+1

¿Entonces el punto que está haciendo es que es más fácil de mantener que un proyecto de formularios web? ¿Podrías explicar por qué piensas esto? –

4

MVC es una curva de aprendizaje grande porque es muy diferente de los formularios web. Si está haciendo este proyecto con otra persona que no quiere aprender MVC, entonces también puede seguir con los formularios web.No se puede enseñar a alguien que no quiere aprender, por lo que básicamente estará girando las ruedas infructuosamente, y ya tiene antecedentes en los formularios web para que al menos se sienta cómodo y familiarizado con el entorno lo suficiente como para hacer Progreso.

Si está haciendo esto solo o con un equipo que está dispuesto a aprender MVC, entonces recomendaría ir menos por el rendimiento y la disponibilidad de herramientas que por aprender algo nuevo y avanzar hacia un marco que sea en gran medida basado en el concepto de desarrollo basado en pruebas.

Asp.Net MVC es un marco muy diferente, y tiene ventajas definitivas, pero también tendrá la desventaja de la inexperiencia, por lo que necesitará tener un proyecto con el que pueda tomarse su tiempo porque Sin duda, tendrás que reiniciar ciertas cosas varias veces antes de obtener las cosas como quieres que sean. Comenzarás, aprenderás algo nuevo que te haga volver al punto de partida, aprenderás algo nuevo que te haga volver al punto de partida, hacer espuma, enjuagar, repetir.

+0

Aquí es donde estoy ahora. Mi pregunta es, en general: ¿vale la pena hacerlo ahora, al comienzo de un proyecto? –

+0

@ user315412 - Si puedes dedicar el tiempo para aprender y tener la paciencia para poder parar/reiniciar desde cero después de aprender algo innovador, entonces diría que sí. Me parece que MVC es mejor para proyectos más grandes, pero incluso un proyecto pequeño es decente como aprendiz. –

0

Probablemente valga la pena aprender MVC solo por el bien de la educación. Da beneficios al desarrollador de front end, pero hay inconvenientes para los backend guys. Sin embargo, para un proyecto pequeño con una cantidad normal de trabajo del lado del cliente, es probable que sea el mismo, de modo que puede usar el proyecto para aprender una nueva tecnología. Por cierto, yo también prefiero las Formas Web ya que es un nivel más alto de abstracción.

Normalmente debe elegir ASP.NET MVC cuando tiene frontend pesado AJAX con muchas animaciones y efectos visuales donde el control sobre el marcado es importante. Debería elegir Formularios web si tiene muchos controles de entrada de datos e independientes del estilo de widget que reutiliza mucho porque puede encapsular el comportamiento mucho mejor.

+0

"desventajas para los chicos de backend" -> ¿cómo es eso? Me parece muy similar de adelante hacia atrás. – Fermin

+0

@Stilgar - No veo inconvenientes para los chicos de back-end. Dado LINQ to SQL y el uso del modelo fuertemente tipado, lo encuentro casi ideal como un "tipo backend". Si crees que los formularios web tienen un "nivel de abstracción más alto", entonces no creo que hayas tomado el tiempo para aprender MVC. Me parece que MVC tiene un nivel de abstracción mucho más alto que los formularios web, y acabo de salir a la superficie (soy desarrollador de formularios web de transición intermedia). –

+0

Los componentes de @Joel pueden ocultar detalles de implementación como el HTML necesario para representar un control o convertir un HTTP POST en un evento .NET. Por lo tanto, los componentes tienen un mayor nivel de abstracción. Con Web Forms puede desarrollar un sitio web con casi ningún conocimiento de HTML. No será el mejor marcado jamás creado, pero puedes hacerlo. – Stilgar

0

Hay 100 razones para elegir MVC o formularios web. Pero dado que usted es un desarrollador front-end, la curva de aprendizaje para usted no es tanto como los desarrolladores de back-end, que generalmente tienen muy poca idea sobre la codificación de HTML.

Sus habilidades existentes como JS, CSS y Html se transportarán sin problemas a MVC.

Cuestiones relacionadas