【问题标题】:Are the MS MVC framework and jQuery suitable for a long-lived application?MS MVC 框架和 jQuery 是否适合长期存在的应用程序?
【发布时间】:2009-10-11 20:22:34
【问题描述】:

我正在开发一个基于 Web 的应用程序,该应用程序的生命周期至少为 6 年。应用程序交付后,很可能在该时间范围内不会被修改。

我们正在考虑使用 asp.net MVC 框架和 jQuery,但我想知道这是否是一个不错的选择。由于 javascript、浏览器标准等发生了变化,客户可能不希望在未来花费额外的时间和金钱。

将应用程序在未来 6 年内需要维护的可能性降到最低的最佳选择是什么?

【问题讨论】:

  • 等六年,如果 ASP.NET MVC 和 jQuery 仍然存在 - 它们将长期存在!

标签: jquery asp.net-mvc maintainability


【解决方案1】:

您可能不必担心这一点。几家大企业在使用 JQuery 方面投入了大量资金,我怀疑你会遇到这些问题。网络可能总是注定要保持向后兼容(这意味着与 10 年前的今天出现的东西)所以我怀疑你的基于 JQuery 的应用程序应该没问题。如果您在 IE7/8、最新的 Firefox 和 Safari 上运行良好,那么您应该没问题。也就是说,如果这些还不够,那么可能没有其他基于 Web 的解决方案也可以。

但我绝对推荐使用 JQuery 来让您避免在 Javascript 交互方面的许多浏览器特定问题。就 ASP.NET MVC 而言,它还是一个相当稳固的平台,我认为许多企业将在未来几年继续支持它。

【讨论】:

    【解决方案2】:

    由于 javascript、浏览器标准等发生了变化,客户可能不想在未来花费额外的时间和金钱。

    是她,还是不是?你能说服她,她周围的世界在不断变化,她将需要更新她的应用程序以适应未来的主要平台?

    我假设这是一个 Intranet 应用程序,而不是一个公共(面向 Internet)的应用程序。因为如果是 Intranet,我认为 6 年是不现实的,但故障模式可能是相当良性的。但是互联网,6 年并且没有对应用程序本身进行安全更新——不可能,我不会参与,以免损害我的专业声誉。

    我会努力出售保持器(软件维护费)以保持应用程序的最新状态。有了这个,一份好的法律文件清楚地概述了客户获得的费用(即兼容性和安全修复,没有新功能)。如果您也进行托管,软件维护通常不会那么难卖。

    为了论证起见,假设申请将被“冻结”6年:

    我会绝对不在任何应该使用 4 代以上浏览器的东西上使用 Javascript。我认为 jQuery 很棒,但是……没办法,Javascript 引擎的变化太快了。对于输出,我会坚持 only:

    • HTML 4.01 Strict & CSS 2(我在考虑 XHTML 1.0 Strict,它本质上是 HTML 4.01 Strict 更改为符合 XML 规则。但是 HTML 4.01 拥有最大的安装基础,我不是粉丝XML。这是一个判断电话。)
    • PNG 和 GIF。

    关于保持静态,这个简单的输出可能是最大的胜利。

    对于服务器环境,我会尝试指定Windows 2008 R2; .NET 4.0 和 ASP.NET MVC 2,以及“近乎冻结”的服务器配置(即仅安全更新)。从现在开始,Windows 2008 R2 应该会扩展对 10 years 的支持。上一代(Win 2008、.NET 3.5SP1 和 MVC 1.0)也可以工作;但是 ASP.NET MVC 2 看起来很不错,所以我更愿意将它用于我的个人乐趣。

    具有良好“存在”记录的大型开源项目也可以——nHibernate、nUnit、StructureMap 等等。

    哦,使用 ASP.NET 很好。微软仍然擅长保持向后兼容性和向后移植安全修复程序。 ASP.NET 和 Java 是我会考虑的两个唯一环境。

    【讨论】:

      【解决方案3】:

      对于 jquery,不用担心,正如 bobbyshaftoe 所说。

      对于 ASP.NET MVC,它不会很快消亡;尽管如此,由于它是一项非常年轻的技术,并且可能在第一个版本中经常更改,因此可能会出现维护问题。

      rails 曾经发生过同样的情况:使用 rails 1.x 编写的应用需要进行一些更改才能在 rails 2.x 上运行。

      这可能是一个问题,也可能不是:使用 rails 1.x 编写的应用程序将继续使用 rails 1.x, 并且使用 MVC 1 编写的应用程序将继续使用 MVC 1。

      我认为现在说 MVC 2 与 MVC 1 有何不同还为时过早:MVC 2 Preview 2 已经发布,但必须指出的是,许多类、方法、接口等多次更改名称和行为在 MVC 1 RC1、MVC1 RC2 等之间

      另一方面,如果您的应用程序足够复杂,使用 MVC 可能仍然是正确的选择,即使考虑到更新到较新版本所需的额外工作(通常不是那么大):MVC 应用程序更可维护(在我看来)。

      最后的考虑:请注意,在狂野的网络世界中,6 年是一段很长的时间,因此无法提前说明哪些会发生变化,哪些不会发生变化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-27
        • 2015-08-08
        • 2015-06-01
        • 1970-01-01
        • 2012-01-11
        相关资源
        最近更新 更多