ASP.NET MVC 3是否已准备好用于业务应用程序

我必须决定我们将在未来几年开发的新的大型业务应用程序,问题是我们是否应该开始使用MVC 3或Web表单。

这已经在SO中进行了讨论,但我已经看到了这样一个问题: ASP.NET MVC是否适用于业务应用程序(集成第三方控件/组件)? 在2008年被问到,现在很多事情都可能发生变化。

我主要关注的是听说MVC适合渲染像网格或列表这样的内容,而不太适合数据输入和用户交互。

我们的应用程序将有很多控件,用户可以在其中输入数据并使用列表和文本框,复选框等。

在MVC或经典的Webforms和视图状态模型中,一切都绝对可能更合适吗?

谢谢。

我从1.0 beta和MVC 1,2和3开始使用每个版本的WebForms,并且相信MVC绝对可以用于生产。

您必须考虑到2的开发方法是完全不同的:

MVC要求您了解基本Web技术的更多低级细节:HTML,CSS,JS,HTTP(我相信如果它们还没有在您的技能组合中,您应该这样做)。

WebForms尝试抽象大部分内容,并且可以将一些简单的页面放在一起被认为更有效率。 但这是一个漏洞抽象,缺乏控制可能会让你越来越熟练 – 如果你不熟悉Web开发,那么在开始时会更容易; 获得经验时更难弯曲。 当页面变得更加复杂时,生产力的提高开始消失。 抽象更有可能导致性能问题并破坏自动测试页面的能力(使用Selenium或等效工具进行单元和UI级别测试)。

示例1:在MVC中,您最有可能需要了解如何处理表单字段以使用application / form-url-encoded组成使用HTTP的POST,否则您可能会遇到模型绑定。 在WebForms中,您可以构建大型应用程序,而无需担心。

示例2:在MVC中,您需要跨请求管理大部分页面状态。 在WebForms中,框架可以轻松地为您完成。

MVC应用程序倾向于更多地依赖客户端javascript组件来获得可重用的小部件,例如绑定JSON数据。 WebForms鼓励使用服务器端控件,因为它们很好地集成到框架状态管理工具中。

与其他人不同,我不相信MVC比WebForms更具生产力。 不要低估WebForms快速交付数据驱动的业务应用程序的能力。 管理了很多人同时使用两者,我认为MVC需要更多熟练的程序员才能提高工作效率。 但如果这是你的情况,你可能会发现MVC在那些熟练的手中是一个更有趣和更强大的平台。

ASP.NET MVC 3是否已准备好用于业务应用程序

在MVC中也是绝对可能的

在我的愚见; 绝对是100%是的。 事实上,我认为MVC框架在function和生产力方面都领先于WebForms。

是的,ASP.NET MVC 3 Razor绝对可以用于商业应用程序。 我正在使用MVC 3 Razor C#构建一个大型的企业级Web应用程序,而我在MVC和Entity Framewor中投入的复杂性越多,它们就越能处理它。 我来给你一个代码示例。 让我们说我们想要创建一个动态表,将HTML与Razor C#代码和数据混合在一起。 使用Web表单和ASP.NET Web控件这不是一项小任务

 @foreach (eStore.Models.Product p in Model.Products) {  } 
Date Name Price Quantity Shipper
@Html.Hidden("Date", p.Date.ToString()) @Html.Hidden("productId", p.ProductId) @Html.Label("Price", p.Price) @Html.Label("Quantity", p.Quantity) @Html.Label("Shipper", p.Shipper)

我创建了一个动态表,其中包含一个带有按钮的产品列表,该按钮可以通过productId访问列表中每个产品的更多信息。 这需要最少量的代码和工作量。 代码清晰,易懂,易于编辑。 现在想象一下传统Web表单和Web控件执行相同任务所需的内容。

MVC 3有一个学习曲线,但在我看来这是值得的。