你是否计划从ASP.Net Web Forms迁移到ASP.Net MVC?

6
如果是的话,您打算何时进行迁移?您认为迁移过程需要多长时间来迁移您当前的项目(如果有的话)?
13个回答

13

ASP.NET MVC并非用于替代WebForms。它们是不同的技术,针对不同的目的而设计。

笼统地说我只使用其中一个而不使用另一个是一种非常狭隘的方式,因为您会忽略每种技术的优缺点。

微软致力于继续发展这两种技术,并且WebForms 4.0中将有许多新特性。

我将同时使用WebForms和ASP.NET MVC,但会根据当前项目的需求来做出正确的决策


10

我已经使用它几个月了。 我非常喜欢MVC。根据可用时间,转换现有项目可能并不现实。就我所知,Web Forms 模拟了旧的VB人群的Windows窗体开发。而MVC并不假装自己是什么,并更紧密地遵循Http过程。

我看到MVC有一些优点:

1)可以使用单元测试进行测试

2)完全控制Html。我们制作网站,怎么能接受不能控制我们所有的html呢?

3)没有viewstate负担

4)没有控制树来浪费时间渲染

5)自动绑定表单提交后的模型

6)可以非常吸引人

还有一些缺点:

1)没有更多的Web控件(许多丰富的第三方控件都会消失)

2)开发速度较慢

3)学习曲线陡峭

4)仍处于Beta版(不过CTP很快就会发布)


一个额外的好处是,它使得Ruby on Rails不再是一个量子飞跃。 - ccook
只有在以下情况下开发速度才会变慢:1)超级简单的网站,拖放式开发就足够了;2)您是ASP生命周期、视图状态、服务器控件定制方面的超级专家(而这仅限于您学习MVC之前)。 - Tim Scott
非常同意1)和2),但我不会说这个列表是排他的。随着Web表单时代的到来,有许多可以用来加速开发的示例和解决方案。由于MVC还很新,许多老式项目必须重新开发。 - ccook
1
Asp.Net MVC 的主要问题在于学习曲线。有些人在看到好处之前就会感到沮丧。 - Arnis Lapsa

7

对于我的新项目,是可以的。但不适用于当前的生产软件。


相同。新项目采用MVC架构,将取代旧的ASP项目以及全新的项目。其余项目仍然是老的WebForms。 - Todd Smith

7

是的,尽可能有条不紊。

MVC将.NET引入了敏捷开发的最佳实践领域。它特别解决了关注点分离和耦合/内聚性的问题。它还让我们编写更可移植的软件,而不会创建对任何供应商特定引用或组件的依赖。

无论你读到什么公关材料,它毫无疑问地是WebForms的继承者,与WPF一起。

维基百科页面 在更新为Microsoft的MVC之前已经清晰明了。


2

假设你更喜欢ASP.NET MVC而不是Web Forms,那么对于一个正在积极开发/维护的系统来说,这是值得的。

它们可以并存,因此可以迁移应用程序的部分(新的或选择的旧的),并查看其效果。如果成功了,就继续进行。

然而,“全有或全无”的迁移可能会非常灾难性——在没有快速反馈的情况下投入大量资金是巨大的风险。


2

WebForms是用于丰富用户界面的

使用MVC或WebForms可以完成同样的任务。在一年后,基于MVC的丰富工具包将推出(如果你喜欢YUI、ExtJS等技术,它们已经存在了),这将使这种争论无效。

迁移您当前的项目

将现有的WebForms项目迁移到MVC上并没有太多意义。你能获得什么?但根据您的需求,对于新项目使用MVC可能非常有意义。


2

我已经使用ASP.NET MVC几个月了,相比Web Forms,我更喜欢它。但是,我不打算将我的现有项目迁移到MVC上,因为这对我来说没有太大意义。不过,所有新的ASP.NET项目都应该使用MVC进行开发,因为它是一个更好(也更灵活)的框架。


2
我从一开始就不太喜欢WebForms,所以能够使用MVC对我来说就像是呼吸新鲜空气。我一直非常喜欢关注点分离,因为我可以专注于开发我真正擅长的部分,即逻辑和数据访问,并将演示工作留给具有自然能力的团队成员。我认为MVC库使得团队更容易协同工作,一个人可以处理控制器,另一个人可以处理视图。
话虽如此,在我处理一些不需要过多关注编码、更加侧重显示方面的项目时,我仍然会回去使用WebForms,因为它们更容易实现和运行。两者都有其用处,我不认为一个会取代另一个。

1

个人而言,我将ASP.NET MVC限制为轻量级前端网站。

但仍在使用ASP.NET WebForms用于强大的后台应用程序,以利用Web Forms的丰富自定义控件和其他一些不错的功能。


1

MVC 的另一个优点是 JavaScript(如 jQuery)的实现要容易得多,因此如果您计划使用大量 JS,则 MVC 可能是最佳选择。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接