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

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

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

有帮助吗?

解决方案

客户可能不想花额外的时间和金钱,因为 JavaScript、浏览器标准等已经发生了变化。

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

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

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

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

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

  • HTML 4.01 严格 & 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年 现在起。上一代(Win 2008、.NET 3.5SP1 和 MVC 1.0)也可以工作;但 ASP.NET MVC 2 看起来非常好,所以我更愿意将其用于我个人的 funfactor。

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

哦,还有关于使用 ASP.NET 的好消息。微软仍然擅长保持向后兼容性和向后移植安全修复程序。ASP.NET 和 Java 是我考虑进行此类操作的唯一两个环境。

其他提示

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

但我绝对推荐使用JQuery从众多的浏览器的具体问题隐藏你的Javascript交互方面。至于ASP.NET MVC,这又是一个非常坚实的平台,我想很多企业将继续在未来几年支持。

有关的jquery,只是不用担心,因为bobbyshaftoe说。

有关ASP.NET MVC,它不会很快死亡; nontheless,因为它是一个非常年轻的技术,并有可能在首次发行时频繁变化,可以预期的维护问题。

用于与轨道发生相同的:用导轨的1.x需要一些改变第导轨2.x的写入工作的应用程序

这可能是一个问题或不:与轨道的1.x编写的应用程序将保持与导轨的1.x工作, 并与MVC 1写的应用程序将保持与MVC 1的工作。

我认为,它仍然是言之过早多少MVC 2将MVC 1不同:MVC 2预览2已经出来了,但必须指出,很多很多类,方法,接口等,改变了名称和行为多次MVC 1 RC1之间,MVC1 RC2等

在另一方面,如果你的应用是足够复杂,使用MVC可能仍然是正确的选择,即使考虑更新到新版本所需要的额外的努力(这通常不是那么大):一个MVC应用程序更维护(在我的意见)。

最后考虑的:请注意有6岁以下的野生网络世界很长一段时间,所以它不可能事先说什么会改变,什么也不会。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top