【问题标题】:Do you plan move from ASP.Net Web Forms to ASP.Net MVC?您是否计划从 ASP.Net Web 表单迁移到 ASP.Net MVC?
【发布时间】:2009-01-04 00:59:52
【问题描述】:

如果是,什么时候?您认为迁移当前项目需要多长时间(如果是这样的话)?

【问题讨论】:

    标签: asp.net asp.net-mvc migration


    【解决方案1】:

    ASP.NET MVC 并不是要取代 WebForms。它们是不同的技术,设计用于不同的目的。

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

    Microsoft 致力于推动这两种技术的发展,并且 WebForms 4.0 中会出现很多不错的新功能。

    我将使用 WebForms 和 ASP.NET MVC,但会考虑当前项目的需求,以便我为当前的实现做出正确的决定

    【讨论】:

      【解决方案2】:

      我已经使用了几个月了。我绝对喜欢 MVC。转换现有项目可能不现实,具体取决于可用时间。正如我所看到的,Web 窗体模拟了旧 VB 人群的 Windows 窗体开发。虽然 MVC 不会假装它不是它,但它更紧​​密地遵循 Http 过程。

      我在 MVC 中看到的一些优点

      1) 可以通过单元测试进行测试

      2) 直接控制 Html。我们做网站,我们如何接受无法控制我们所有的html?

      3) 没有视图状态包

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

      5) 自动绑定表单帖子中的模态

      6) 可以很性感

      还有一些缺点

      1) 不再有 Web 控件(并且丢失了许多丰富的第 3 方控件)

      2) 开发速度较慢

      3) 大的学习曲线

      4) 仍处于 Beta 阶段(不过 CTP 很快)

      【讨论】:

      • 一个额外的好处,它使 Ruby on Rails 少了一个量子飞跃
      • 只有在以下情况下开发速度会变慢:1)拖放开发就足够的超级简单站点,2)您是ASP生命周期,视图状态,服务器的超级骗子专家控制自定义(这只是在您精益 MVC 之前)。
      • 1) 和 2) 非常正确,但我不会说该列表是排他性的。随着 Web 表单时代的到来,有许多示例和解决方案可用于加快开发速度。随着 MVC 的新发展,许多旧帽子项目必须重新开发。
      • Asp.Net MVC 的主要问题 - 学习曲线。有些人在看到好处之前就被吓到了。
      【解决方案3】:

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

      【讨论】:

      • 相同。新项目是 MVC,它将取代旧的 ASP 项目以及全新的项目。其余项目仍然是旧的 WebForms。
      【解决方案4】:

      是的,尽可能有序。

      MVC 将 .NET 带入敏捷开发最佳实践的世界。它专门解决了关于关注点分离和耦合/内聚的问题。它还允许我们编写更便携的软件,而无需创建对任何供应商特定参考或组件的依赖。

      毫无疑问,它是 WebForms 的继任者,以及 WPF,无论您阅读什么 PR。

      The Wikipedia entry 非常清晰,甚至在针对 Microsoft 的 MVC 进行更新之前。

      【讨论】:

        【解决方案5】:

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

        它们可以并排共存,因此可以迁移应用程序的某些部分(新的或选定的旧的)并查看它的工作原理。如果成功,请继续。

        不过,“全有或全无”迁移可能是灾难性的 - 在没有快速反馈的情况下大量投资是一个巨大的风险。

        【讨论】:

          【解决方案6】:

          WebForms 用于丰富的 UI

          这些可以用 MVC 或 Webforms 完成。一年后,丰富的基于 MVC 的工具包将会出现(从技术上讲,如果你喜欢 YUI、ExtJS 等,它们已经在这里了)并使这个论点无效。

          迁移您当前的项目

          将现有的 WebForms 项目迁移到 MVC 没有多大意义。你会得到什么?但是,根据您的要求,将 MVC 用于新项目可能会很有意义。

          【讨论】:

            【解决方案7】:

            我从一开始就不太喜欢 WebForms,所以开始使用 MVC 对我来说就像呼吸新鲜空气。我一直更喜欢关注点分离,因为我可以处理我真正擅长开发的块、逻辑和数据访问,并将演示工作留给具有这种天生能力的团队成员。我认为 MVC 库使团队更容易在各个页面上协作,因为一个人可以在控制器上工作,而另一个人可以在视图上工作。

            话虽如此,当我从事不需要过多关注编码并且更面向显示的项目时,我仍然会回到 WebForms,因为它们更容易实现并起床并运行。两者都有自己的位置,我认为一个永远不会取代另一个。

            【讨论】:

              【解决方案8】:

              我已经使用 ASP.NET MVC 几个月了,我更喜欢它而不是 Web 窗体。但是,我没有看到自己将现有项目迁移到 MVC。对我来说,这将毫无意义。但是,我所有的新 ASP.NET 项目都将(或应该)使用 MVC 开发,因为它是一个更好(并且更灵活)的框架。

              【讨论】:

                【解决方案9】:

                我个人将 ASP.NET MVC 限制为轻量级前台网站。

                但仍将 ASP.NET WebForms 用于 Righ BackOffice 应用程序,以利用丰富的自定义控件和 Web 窗体的其他一些不错的功能。

                【讨论】:

                  【解决方案10】:

                  mvc 的另一个优点是 jquery 之类的 javascript 更容易实现,所以如果你打算使用大量 js,mvc 可能是要走的路。

                  【讨论】:

                    【解决方案11】:

                    不,没有理由这样做。这是另一种风格,我不喜欢。但那只是我的个人意见;很多人都喜欢它,我希望它对他们有用。

                    【讨论】:

                      【解决方案12】:

                      如前所述,它们并不相互排斥,我玩游戏是为了充分利用两者。

                      IMO MVC 更适合网站网站,而 WebForms 更适合网络应用程序

                      例如,这个站点完美地展示了 ASP.NET MVC 是一个不错的选择,因为站点的性质和需要完成的任务;其他很好的例子是网上商店、项目管理网站(如 Basecamp)或社交网络。

                      但是,如果您正在开发企业 CRM/ERP 系统,我会坚持使用 WebForms 来获得丰富的控件和更“类似桌面”的编程模型,因为 CRM 应用程序传统上是桌面应用程序的领域。

                      【讨论】:

                      • 我不同意这种说法。我觉得 MVC 比 Webforms 更适合企业开发。我来自 Spring/Java 背景,Webforms 似乎填补了 Web 开发桌面的空白。
                      【解决方案13】:

                      ASP.NET MVC 更适合我想要的开发风格,但我对信任自己持谨慎态度,因为它不是 RTM。它也足够不同,以至于我们的遗留代码无法使用它。如果我们一直在练习领域驱动开发,事情可能会更容易,但是......

                      【讨论】:

                        猜你喜欢
                        • 2014-03-15
                        • 2020-09-26
                        • 2018-12-30
                        • 2011-10-16
                        • 1970-01-01
                        • 1970-01-01
                        • 2014-06-06
                        • 1970-01-01
                        • 2011-05-27
                        相关资源
                        最近更新 更多