This question already has an answer here:
这个问题在这里已有答案:
- ASP.NET MVC vs WebForms: speed and architecture comparison [closed] 4 answers
ASP.NET MVC vs WebForms:速度和架构比较[关闭] 4个答案
Duplicate:
Should I pursue ASP.NET WebForms or ASP.NET MVC?
我应该追求ASP.NET WebForms还是ASP.NET MVC?
We are developing an enterprise application which uses client-server architecture. It is based on .NET Framework 3.5, the client is a rich WinFom application and the entire system is in Beta testing stage. We need to exposed some of this system's functionality through web. The current desktop client application, makes minimum amount of calls to the server but it has relatively medium to high amount of data transfer.
我们正在开发使用客户端 - 服务器架构的企业应用程序。它基于.NET Framework 3.5,客户端是一个丰富的WinFom应用程序,整个系统处于Beta测试阶段。我们需要通过网络公开这个系统的一些功能。当前桌面客户端应用程序对服务器的调用次数最少,但它具有相对中等到高的数据传输量。
Currently the basic idea is to create a front-end layer for our system, using ASP.NET Web Forms or ASP.NET MVC. We don't have much experience with ASP.NET MVC but this technology seems very interesting and promising (at least for me).
目前,基本思想是使用ASP.NET Web Forms或ASP.NET MVC为我们的系统创建前端层。我们对ASP.NET MVC没有太多经验,但这项技术看起来非常有趣且充满希望(至少对我而言)。
My Questions are:
我的问题是:
- What considerations do you make when choosing a web development technology?
- What may you choose for such a scenario, Web Forms or MVC?
选择Web开发技术时您会考虑哪些因素?
你可以选择什么样的场景,Web窗体或MVC?
2 个解决方案
#1
If you want to use ASP.NET MVC Framework now, which at the moment is in beta, you run into the risk at version change that some functionality will break. You may need to condisider this as a maintenance issue.
如果您现在要使用ASP.NET MVC Framework,目前处于测试阶段,您会遇到某些功能会破坏的版本更改风险。您可能需要将此作为维护问题。
ASP.NET MVC Framework also requires software developers to be accustomed with model-view-controller "pattern". There are a lot of pits to fall into if devs don't agree how interaction is supposed to be done between the three layers.
ASP.NET MVC Framework还要求软件开发人员习惯使用模型 - 视图 - 控制器“模式”。如果开发人员不同意如何在三个层之间进行交互,那么有许多陷阱。
Unless you have programmers that can do use this you may want to consider using Web Forms instead. There are loads of documentation and resources available for Web Forms but MVC Framework has to be searched for in blogs and the little documentation that is available on the project homepage.
除非您有程序员可以使用它,否则您可能需要考虑使用Web窗体。有大量可用于Web窗体的文档和资源,但必须在博客中搜索MVC框架以及项目主页上提供的小文档。
I've been working on the ASP.NET MVC Framework Beta myself and I can say it's been great so far. But the reason it works great for me is because I've been tinkering before with other MVC frameworks such as Ruby on Rails.
我自己一直在研究ASP.NET MVC框架测试版,我可以说它到目前为止一直很棒。但它对我来说很有用的原因是因为我之前一直在修改其他MVC框架,比如Ruby on Rails。
#2
These ones are always difficult questions to answer responsibly, because every project is different, and there are always multiple factors by which technology choices are made. But it sounds to me, in this scenario, like Web Forms is "known," and MVC is "unknown," so without knowing more, you've already got a bit of a hump to overcome.
这些问题始终是难以回答的问题,因为每个项目都是不同的,并且总是存在多种因素来制定技术。但是对我来说,在这种情况下,就像Web Forms是“已知的”,而MVC是“未知的”,所以在不知道更多的情况下,你已经有了一点需要克服。
In that light, the scales are probably tipped toward Web Forms. They're tried and true, the rule rather than the exception, so while I understand the desire to learn something new, if you're on a schedule, and the product needs to be solid, they're probably the more responsible choice. It sounds to me like you'd be learning [MVC] and developing at the same time, which is fine for personal projects, but for enterprise projects, or really any project for any customer, it's asking for trouble: it could take, say, 50% longer, or even more, to build the project in an unknown (or lesser known) technology, and as well, assuming you don't grok it completely from day one, you're going to learn lessons along the way that will likely increase the need for eventual refactoring, simply by virtue of your "getting it" gradually rather than all in advance.
从这个角度来看,这些尺度可能会倾向于Web Forms。他们是经过考验而且是真实的,规则而非例外,所以虽然我理解学习新事物的愿望,但如果你按计划进行,产品需要坚实,那么他们可能是更负责任的选择。听起来像你正在学习[MVC]并同时开发,这对于个人项目来说很好,但对于企业项目,或者对于任何客户来说真的是任何项目,它都会遇到麻烦:它可能需要,比如说使用未知(或鲜为人知)的技术构建项目的时间延长50%,甚至更多,并且假设您从第一天起就没有完全理解它,那么您将学习沿途的课程。可能会增加对最终重构的需求,仅仅是因为你逐渐而不是提前“获得它”。
So if it's an important project, and it needs to be done right, and you're comfortable in Web Forms and feel like you know them well, the answer is probably Web Forms. Learn MVC on something smaller, something less critical. Your company will thank you for making the right choice for them. :)
因此,如果它是一个重要的项目,并且它需要正确完成,并且您对Web窗体感到满意并且感觉您很了解它们,那么答案可能就是Web窗体。在较小的东西上学习MVC,不那么重要。贵公司会感谢您为他们做出正确的选择。 :)
#1
If you want to use ASP.NET MVC Framework now, which at the moment is in beta, you run into the risk at version change that some functionality will break. You may need to condisider this as a maintenance issue.
如果您现在要使用ASP.NET MVC Framework,目前处于测试阶段,您会遇到某些功能会破坏的版本更改风险。您可能需要将此作为维护问题。
ASP.NET MVC Framework also requires software developers to be accustomed with model-view-controller "pattern". There are a lot of pits to fall into if devs don't agree how interaction is supposed to be done between the three layers.
ASP.NET MVC Framework还要求软件开发人员习惯使用模型 - 视图 - 控制器“模式”。如果开发人员不同意如何在三个层之间进行交互,那么有许多陷阱。
Unless you have programmers that can do use this you may want to consider using Web Forms instead. There are loads of documentation and resources available for Web Forms but MVC Framework has to be searched for in blogs and the little documentation that is available on the project homepage.
除非您有程序员可以使用它,否则您可能需要考虑使用Web窗体。有大量可用于Web窗体的文档和资源,但必须在博客中搜索MVC框架以及项目主页上提供的小文档。
I've been working on the ASP.NET MVC Framework Beta myself and I can say it's been great so far. But the reason it works great for me is because I've been tinkering before with other MVC frameworks such as Ruby on Rails.
我自己一直在研究ASP.NET MVC框架测试版,我可以说它到目前为止一直很棒。但它对我来说很有用的原因是因为我之前一直在修改其他MVC框架,比如Ruby on Rails。
#2
These ones are always difficult questions to answer responsibly, because every project is different, and there are always multiple factors by which technology choices are made. But it sounds to me, in this scenario, like Web Forms is "known," and MVC is "unknown," so without knowing more, you've already got a bit of a hump to overcome.
这些问题始终是难以回答的问题,因为每个项目都是不同的,并且总是存在多种因素来制定技术。但是对我来说,在这种情况下,就像Web Forms是“已知的”,而MVC是“未知的”,所以在不知道更多的情况下,你已经有了一点需要克服。
In that light, the scales are probably tipped toward Web Forms. They're tried and true, the rule rather than the exception, so while I understand the desire to learn something new, if you're on a schedule, and the product needs to be solid, they're probably the more responsible choice. It sounds to me like you'd be learning [MVC] and developing at the same time, which is fine for personal projects, but for enterprise projects, or really any project for any customer, it's asking for trouble: it could take, say, 50% longer, or even more, to build the project in an unknown (or lesser known) technology, and as well, assuming you don't grok it completely from day one, you're going to learn lessons along the way that will likely increase the need for eventual refactoring, simply by virtue of your "getting it" gradually rather than all in advance.
从这个角度来看,这些尺度可能会倾向于Web Forms。他们是经过考验而且是真实的,规则而非例外,所以虽然我理解学习新事物的愿望,但如果你按计划进行,产品需要坚实,那么他们可能是更负责任的选择。听起来像你正在学习[MVC]并同时开发,这对于个人项目来说很好,但对于企业项目,或者对于任何客户来说真的是任何项目,它都会遇到麻烦:它可能需要,比如说使用未知(或鲜为人知)的技术构建项目的时间延长50%,甚至更多,并且假设您从第一天起就没有完全理解它,那么您将学习沿途的课程。可能会增加对最终重构的需求,仅仅是因为你逐渐而不是提前“获得它”。
So if it's an important project, and it needs to be done right, and you're comfortable in Web Forms and feel like you know them well, the answer is probably Web Forms. Learn MVC on something smaller, something less critical. Your company will thank you for making the right choice for them. :)
因此,如果它是一个重要的项目,并且它需要正确完成,并且您对Web窗体感到满意并且感觉您很了解它们,那么答案可能就是Web窗体。在较小的东西上学习MVC,不那么重要。贵公司会感谢您为他们做出正确的选择。 :)