2009-02-06 24 views

Respuesta

3

Realmente depende del tipo de proyecto. Algunas personas, como MVC, debido al SEO se benefician de las URLs limpias y les permiten a los usuarios "urcar" urls de manera inteligente haciendo conjeturas de url inteligentes. MVC tiene un costo que significa que perderá controles web y, por lo tanto, no tendrá AJAX ASP.NET ni cuadrícula de arrastrar y soltar desde su biblioteca de UI.

Solo para generalizar, un sitio web disponible públicamente podría ser un mejor candidato para MVC debido a su beneficio de SEO, mientras que una aplicación interna o comercial podría ser mejor si tuviera el tiempo utilizado para desarrollar otras áreas.Por otra parte, si lo que quieres es URLs limpias, se puede implementar la misma cosa sin MVC mediante la reescritura de URL,

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx http://msdn.microsoft.com/en-us/library/ms972974.aspx

En lo que a 'desventaja' en el uso de MVC, podría ser más de uno personal en eso,

  • ¿Desea realizar la curva de aprendizaje al hacer MVC?
  • ¿Confías en los controles? ¿Puedes codificar lo mismo a través de HTML, CSS?
  • ¿Podría estar "perdiendo el tiempo" haciendo MVC cuando una parte mejor de su proyecto se beneficiaría del tiempo de codificación?
  • Si todo lo que está buscando es SEO, ¿la URL está reescribiendo un mejor enfoque para sus necesidades?

Yo diría que las desventajas son realmente relativas al desarrollador y al proyecto.

+4

Perder WebControls es una * ventaja * distinta * – Jamiec

+0

Me pregunto si tener un control Grid que ya tenía clasificación automática, paginación y todo algo malo. – TheAgent

+0

¡Has resumido MVC para limpiar URL y SEO! ¡Hay muchas maneras de hacer que los sitios web sean amigables con los motores de búsqueda en los formularios web ASP.NET! –

1

Cosas como estado de control (texto en los campos de entrada) requiere la manipulación manual por su parte, se compara con formularios web .. suponiendo que lo utilice "adecuadamente ".

En general, usted tiene que hacer un poco más de trabajo de presentación, lo cual es bueno en mi opinión, pero en una aplicación intensiva (administraciones por ejemplo), puede ralentizarlo.

(me refiero a asegurarse de que puede manejar las cosas más normales ASP.NET MVC dentro de una aplicación, pero si lo hace ampliamente, probablemente debería simplemente correr formularios web.)

6

Con WebForms que tienen una multitud de pre controles de interfaz de usuario integrados como cuadrículas, herramientas gráficas, etc. Hay toda una industria de controles RAD.

Desafortunadamente con ASP.NET MVC, muchas de estas cosas aún no están del todo completas.

+4

Ha, esto es un inconveniente. Veo esto como un beneficio ya que todas esas cosas prefabricadas terminan siendo más problemas de lo que valen. –

+1

+1 a eso. La mayoría de esos controles tienen tantos dolores de cabeza empaquetados como funcionalidad. –

+1

Realmente lo veo como un beneficio :) –

1

ASP.NET requiere el enrutamiento IIS7 (es decir, Windows Server 2008 o Vista). Puede ejecutarlo en IIS6 en Server 2003, pero perderá la frialdad de enrutamiento sin extensión.

+2

inexacto. Puede obtener un enrutamiento sin extensión en IIS6 con una asignación de comodín (consulte http://haacked.com/archive/2008/11/26/asp.net-mvc-on-iis-6-walkthrough.aspx) –

2

Curva de aprendizaje y falta de controles preconstruidos, lo que perjudicará la productividad de un desarrollador de WebForms.

Sin embargo, puedo darte una muy buena ventaja: si aún no lo has hecho, finalmente aprenderás los conceptos básicos de HTML/CSS y HTTP que se necesitan para realizar cualquier tipo de desarrollo web serio, y no solo Arrastrando cosas en el editor.

4

La mayor desventaja es que es probable que se ven obligados a usar JavaScript/AJAX para lograr formas más complejas. Por ejemplo, si tiene un conjunto completo de widgets (por ejemplo, cuadrículas de datos, formularios secundarios adicionales, etc.) que no forman parte directamente de la Vista actual, el estado de administración es complicado.

En WebForms de ASP.NET, viewstate maneja esto automáticamente para que pueda tener múltiples controles independientes que publiquen eventos de retorno y disparo, sin estropear nada más en la página.

En ASP.NET MVC, necesita manejar todo eso usted mismo, y la manera más fácil es simplemente mover las cosas para que estén en el lado del navegador.

En la parte positiva de esto, después de que lo depure todo, puede conducir a una experiencia de usuario más agradable en general.

0
  1. Los sitios ASP.NET MVC necesitan en promedio 10 veces más tiempo de desarrollo que los sitios ASP.NET tradicionales.
  2. No hace uso de los poderosos controles asp.net.

  3. El código no se puede leer. Si está hecho de añadir algunas mejoras en un sitio web desarrollado por alguien más, se vuelven locos ..

1
  • La complejidad es alta para desarrollar las aplicaciones que utilizan este patrón .
  • No adecuado para aplicaciones pequeñas que tiene un efecto adverso en el rendimiento y el diseño de la aplicación.
  • En términos de servlet y JSP, ambos a menudo contienen lógica de negocios y nivel de presentación .
  • El proceso de desarrollo aislado por parte de los autores de la interfaz de usuario, la lógica de negocios autores y autores de controladores puede retrasar el desarrollo de sus respectivos módulos .
  • Los desarrolladores no pueden ignorar por completo la vista del modelo, incluso si son decoupled.If el modelo se somete a cambios frecuentes, las vistas podrían inundarse con requests.Views de actualización como pantallas gráficas puede tomar algún tiempo para procesarse. Como resultado, la vista puede estar detrás de las solicitudes de actualización . REF: http://www.careerride.com/MVC-disadvantages.aspx
Cuestiones relacionadas