while sintaxis mvc cshtml c# asp.net asp.net-mvc razor

c# - sintaxis - razor view



¿ASP.NET MVC 3 está preparado para aplicaciones empresariales? (3)

Tengo que decidir sobre una nueva aplicación para grandes empresas que desarrollaremos en los próximos años, la pregunta es si debemos comenzar a usar MVC 3 o formularios web.

Esto ya se discutió aquí en SO, pero he visto la pregunta: ¿ ASP.NET MVC está listo para aplicaciones de negocios (integrando controles / componentes de terceros)? Se le preguntó en 2008 y ahora muchas cosas podrían haber cambiado.

Mi principal preocupación es que escuchar a MVC es bueno para representar contenido como grillas o listas y no tan bueno para la entrada de datos y la interacción del usuario.

Nuestra aplicación tendrá una gran cantidad de controles en los que los usuarios ingresan datos y trabajan con listas y cuadros de texto, casillas de verificación, etc.

¿Es absolutamente posible todo lo posible también en MVC o en los formularios web clásicos y ver el modelo de estado sería más apropiado?

Gracias.


¿ASP.NET MVC 3 está preparado para aplicaciones empresariales?

Es todo absolutamente posible también en MVC.

En mi humilde opinión; Absolutamente 100% si. De hecho, afirmo que el marco MVC está a años luz por delante de WebForms tanto en funcionalidad como en productividad.


He usado todas las versiones de WebForms desde 1.0 beta y MVC 1, 2 y 3 y creo que MVC está definitivamente listo para su uso en producción.

Debe tener en cuenta que el enfoque de desarrollo de los 2 es bastante diferente:

MVC requiere que aprendas más detalles de bajo nivel de las tecnologías web básicas: HTML, CSS, JS, HTTP (que creo que deberías de todos modos si aún no están en tu conjunto de habilidades).

WebForms intenta abstraer la mayor parte del mismo y puede considerarse más productivo por juntar algunas páginas simples. Pero es una abstracción con fugas y la falta de control puede frustrarle a medida que adquiere más destreza, más fácil al principio si es nuevo en el desarrollo web. más difícil de doblar a medida que gana experiencia. Las ganancias de productividad comienzan a desaparecer cuando las páginas se vuelven más complejas. Es más probable que la abstracción cause problemas de rendimiento y socava la capacidad de automatizar las pruebas de sus páginas (pruebas de nivel de UI y unidad con Selenium o herramientas equivalentes).

Ejemplo 1: en MVC lo más probable es que tenga que entender cómo se procesan los campos de formulario para componer un POST sobre HTTP con la aplicación / form-url-encoded, de lo contrario puede tener problemas con el enlace del modelo. En WebForms puedes crear grandes aplicaciones sin tener que preocuparte por eso.

Ejemplo 2: en MVC, debe administrar la mayor parte del estado de su página en todas las solicitudes. En WebForms es fácil hacer que el framework lo haga por ti.

Las aplicaciones MVC tienden a depender más de los componentes javascript del lado del cliente para tener widgets reutilizables, por ejemplo, vinculando datos JSON. WebForms recomienda el uso de controles del lado del servidor, ya que se integran muy bien en las instalaciones de administración del estado del marco.

A diferencia de otras personas, no creo en decir que MVC es estrictamente más productivo que WebForms. No subestime la capacidad de WebForms para entregar aplicaciones comerciales basadas en datos rápidamente. Habiendo manejado a mucha gente usando ambos, mi opinión es que MVC requiere que los programadores más capacitados sean más productivos. Pero si ese es tu caso, es probable que encuentres que MVC es una plataforma más divertida y poderosa en esas manos expertas.


Sí, ASP.NET MVC 3 Razor está definitivamente listo para aplicaciones empresariales. Estoy construyendo una gran aplicación web de clase empresarial en MVC 3 Razor C # y cuanto más complejidad ofrezco en MVC y Entity Framewor, mejor lo manejarán. Déjame darte un ejemplo de código. Digamos que queremos crear una tabla dinámica que mezcle HTML con el código y los datos de Razor C #. Esta no es una tarea sencilla utilizando formularios web y controles web ASP.NET

<table> <thead> <tr> <td>Date</td> <td>Name</td> <td>Price</td> <td>Quantity</td> <td>Shipper</td> </tr> </thead> @foreach (eStore.Models.Product p in Model.Products) { <tr> <td>@Html.Hidden("Date", p.Date.ToString()) @Html.Hidden("productId", p.ProductId) <td><input type="submit" name="submitButton" value="@p.Name"/></td> <td>@Html.Label("Price", p.Price)</td> <td>@Html.Label("Quantity", p.Quantity)</td> <td>@Html.Label("Shipper", p.Shipper)</td> </tr> } </table>

He creado una tabla dinámica que contiene una lista de productos con un botón que puede acceder a más información sobre cada producto en la lista por productId. Esto requería una cantidad mínima de código y esfuerzo. El código es claro, comprensible y fácil de editar. Ahora imagine lo que se requeriría con los formularios web convencionales y los controles web para realizar la misma tarea.

Hay una curva de aprendizaje con MVC 3, pero en mi opinión vale la pena.