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

MS MVC框架和jQuery是否适合长期应用程序?,jquery,asp.net-mvc,maintainability,Jquery,Asp.net Mvc,Maintainability,我正在开发一个基于web的应用程序,它的生命周期至少为6年。一旦应用程序交付,很可能在该时间段内不会对其进行修改 我们正在考虑使用asp.NETMVC框架和jQuery,但我想知道这是否是一个好的选择。由于javascript、浏览器标准等已经发生了变化,客户可能不想在未来花费额外的时间和金钱 要最大限度地减少应用程序在未来6年内需要维护的可能性,最好的选择是什么?您可能不必担心这一点。几家大型企业在使用JQuery方面投入了巨大的资金,我怀疑您是否会遇到此类问题。web可能总是注定要保持向后兼

我正在开发一个基于web的应用程序,它的生命周期至少为6年。一旦应用程序交付,很可能在该时间段内不会对其进行修改

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


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

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


但我绝对推荐使用JQuery来隐藏Javascript交互方面的许多特定于浏览器的问题。就ASP.NET MVC而言,它同样是一个非常可靠的平台,我认为许多企业在未来几年将继续支持它。

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


但我绝对推荐使用JQuery来隐藏Javascript交互方面的许多特定于浏览器的问题。就ASP.NET MVC而言,它还是一个非常可靠的平台,我认为许多企业在未来几年将继续支持它。

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

对于ASP.NETMVC来说,它不会很快消亡;然而,由于这是一项非常年轻的技术,并且在第一个版本中可能会频繁更改,因此可能会出现维护问题

同样的情况也发生在rails上:用Rails1.x编写的应用程序需要对Rails2.x进行一些修改

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

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

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


最后一点考虑:请注意,6年是一个非常长的时间在野生网络世界,所以它是不可能提前说什么会改变和什么不会

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

对于ASP.NETMVC来说,它不会很快消亡;然而,由于这是一项非常年轻的技术,并且在第一个版本中可能会频繁更改,因此可能会出现维护问题

同样的情况也发生在rails上:用Rails1.x编写的应用程序需要对Rails2.x进行一些修改

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

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

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

最后一点考虑:请注意,6年是一个非常长的时间在野生网络世界,所以它是不可能提前说什么会改变和什么不会

因为javascript、浏览器标准等已经发生了变化,所以客户可能不想在未来花费额外的时间和金钱

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

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

为了保持应用程序的最新状态,我会努力卖出一笔定金(软件维护费)。有了这一点,一份好的法律文件清楚地概述了客户通过付费获得了什么(即兼容性和安全性修复,没有新功能)。如果你也做托管,软件维护通常不难销售

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

我绝对不会在任何应该持续4代以上的浏览器上使用Javascript。我想