2008-10-29 27 views
9

Mi equipo está considerando construir nuestra próxima aplicación web utilizando el marco ASP.NET MVC. Estoy un poco indeciso, como algunos otros, porque todavía está en beta. Realmente quiero sumergirme porque parece ser una excelente manera de proporcionar una clara separación de preocupaciones y mejorar la capacidad de prueba.¿Debo crear mi próxima aplicación web en ASP.NET MVC?

¿Debo darme el paso ahora, mientras MVC todavía está en beta, o esperar para un candidato de lanzamiento?

De algunas de las respuestas, creo que necesito aclarar mi pregunta un poco. Mi principal preocupación es si ir con un producto que todavía está en beta, no webforms vs. mvc. La preocupación se debe principalmente al temor de que terminemos utilizando alguna funcionalidad en la versión beta que se modifique/desaproveche/no sea compatible en la versión final.

Sin embargo, aprecio la perspectiva en webforms vs. mvc. Simplemente no llega al corazón de mi pregunta.

Respuesta

17

Es un árbol de decisión bastante simple, de verdad.

Elija ASP.NET MVC si ...

  • se preocupan profundamente por URL
  • se preocupan profundamente por su HTML
  • Want verdadera separación de las preocupaciones
  • Quieres capacidad de prueba de principio a fin
  • Desea la flexibilidad de los motores de visualización (ASPX, NVelocity, NHaml, etc.)

Elija WebForms si ...

  • Disfrute de la abstracción con estado de Web Forms (ViewState)
  • no le importa modelo PostBack
  • Prefiero componentes que pueda "arrastrar & caída" en una página

Para mí, la respuesta será 99% ASP.NET MVC, porque creo que es una coincidencia mucho mejor para la web.Creo que la historia de Ajax es mucho más limpia también, y tengo control completo sobre mis URL HTML &. Además de todo eso, puedo probar mi sitio web (controladores) con bastante facilidad.

Sí, sé que puede lograr URL limpias en WebForms, y puede tener un HTML limpio a través de los Adaptadores de control, y puede lograr un nivel de comprobabilidad con el patrón MVP en WebForms, pero estos son todos off- el camino trillado se acerca. Con ASP.NET MVC, estas cosas son esenciales. Así es como lo haces.

Y no se preocupe por la vista previa/estado de la beta. El equipo siempre ha mantenido que no necesita una licencia de activación para implementarlo (a pesar de que ahora ofrecen uno). Es puramente aditivo en el tiempo de ejecución ASP.NET existente.

Es como transmisión automática vs. manual. Elija uno que lo haga feliz y corra con él.

+0

estas no son las dos únicas soluciones. – roundcrisis

+0

@Roundcrisis * ting * –

+0

creciendo en el Reino Unido. Estaba acostumbrado a la transmisión manual y siempre estaba de acuerdo con que obtuviera el manual cuando compré mi primer automóvil. pero estaba tan ocupado recogiendo el color y las características que COMPLETAMENTE OLVIDÉ pedir la transmisión manual. en retrospectiva, estoy contento de haberlo hecho (vivo en LA) pero ahora estoy de vuelta al manual con MVC. –

0

Si no tiene que poner su aplicación en producción pronto, sí, escríbala en MVC. Aquí, tenemos un equipo que trabaja con MVC y tiene previsto ponerlo en producción en enero de 2009.

1

Hasta ahora MVC se ve bien monorraíl, sin embargo I ma castillo defensor que he utilizado en muchos centros de producción y se me metió en el aprendizaje sobre la COI y AR Cheack cabo castleproject.org

4

prefiero ASP.NET MVC WebForms, así que elegiría eso, pero necesita trabajar como un equipo donde se encuentran sus habilidades principales y si va a elegir MVC:

  1. Cree un mejor producto.
  2. Llegue al mercado más rápido.

No lo elijas porque es nuevo. WebForms sigue siendo una gran opción, y puede escribir código para WebForms que sea comprobable y tenga una clara separación de preocupaciones.

0

Si no es una misión crítica y usted y su equipo tienen tiempo para aprenderlo, ¿por qué no?

1

Yo recomendaría darle una oportunidad.

Acabamos de lanzar una plataforma de comercio electrónico con MVC ejecutándose en el front end, y aunque hay algunos inconvenientes con los que tropezar (Decir que resolver Url's con tipos anónimos es actualmente mucho más lento que usar un RouteValueDictionary, era sorpresa para mí), ciertamente parece que fue mucho más fácil construir un sistema manejable en MVC en comparación con nuestras aplicaciones antiguas de WebForms.

Si tiene el lujo de elegir, entonces definitivamente debe echarle un vistazo más de cerca. Los errores que han aparecido mientras trabajamos en él han sido solucionados con bastante prontitud, y la mayoría de las cosas funcionan bien ahora, y comienzan a sentirse bastante completas.

Pero al final, siempre es un riesgo asumir un producto beta temprano. :)

1

A menos que su aplicación sea súper simple, es probable que MVC sea lanzado antes de que vaya a producción. Eso sin embargo importa poco. He estado construyendo en MVC desde Vista previa 2. Cada nueva versión ha contenido cambios de última hora; sin embargo, no han sido muy difíciles de rastrear y corregir. Es muy poco probable que en 1.0 puedas crear una montaña de código que se derrumbe por algunos cambios bruscos. Simplemente presupuesta algunas horas para aplicar cada nueva versión.

Cuestiones relacionadas