MS MVC框架和jQuery是否适合长期应用程序?

时间:2009-10-11 20:22:34

标签: jquery asp.net-mvc maintainability

我正在开发一个基于网络的应用程序,该应用程序的使用寿命至少为6年。一旦交付申请,很可能在该时间范围内不会修改。

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

最大限度地减少应用程序在未来6年内需要维护的可能性的最佳选择是什么?

3 个答案:

答案 0 :(得分:4)

您可能不必担心这一点。从几个大企业使用JQuery进行了如此巨大的投资,我怀疑你会遇到这类问题。网络可能永远注定要保持向后兼容(这意味着10年前的东西今天),所以我怀疑你的基于JQuery的应用程序应该没问题。如果你使用IE7 / 8,最新的Firefox和Safari,它应该没事。你应该没问题。也就是说,如果那些不够,那么可能没有其他基于Web的解决方案。

但我肯定建议使用JQuery在Javascript交互方面隐藏许多特定于浏览器的问题。至于ASP.NET MVC,它再次是一个非常可靠的平台,我认为许多企业将在未来几年继续支持。

答案 1 :(得分:1)

对于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年是非常长的一段时间,所以不可能事先说明会改变什么,不会改变什么。

答案 2 :(得分:1)

  

客户可能不会想要花费额外的时间和金钱,因为javascript,浏览器标准等已经改变。

她,不是吗?你能否说服她周围的世界不断移动,她是否需要更新她的申请以与未来的主要平台合作?

我认为这是一个Intranet应用程序,而不是一个公共(面向Internet)的应用程序。因为如果它是Intranet我认为6年是不现实的,但失败模式可能是相当温和的。但互联网,6年,并没有对应用程序本身的安全更新 - 没有办法,我不参与,以避免损害我的专业声誉。

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

为了论证,假设申请应“冻结”6年:

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

  • HTML 4.01严格& CSS 2 (我考虑的是XHTML 1.0 Strict,它本质上是HTML 4.01严格改变以符合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。 Microsoft仍擅长保持向后兼容性和向后移植安全修复程序。 ASP.NET和Java是我考虑过的两种环境。