因此,我们有一些持续的讨论是否应该在Flex或Silverlight中重新编写应用程序的客户端部分,或者使用jQuery等一些最先进的JavaScript框架重新编写,或者我们是否应该继续使用我们的内容已经并逐渐尝试替换现有代码的最差位.更难以决定的是,重新编写UI可能会花费我们6-12个月的时间.
我想听听你对这个问题的看法(也许你们中的一些人已经不得不做出类似的决定).
编辑:回答答案提出的一些问题:后端代码是用C#编写的,目标受众(通常)是我们出售软件的公司的非技术用户(不是一般公众,但并非严格的内部用户),软件“只”必须在桌面浏览器中运行,但不一定在移动设备上运行,客户端应用程序是一个完整的用户界面.
解决方法
通过将其保留在JavaScript中,您可以慢慢地引入一个框架,如果您选择并迭代地执行(替换代码部分,测试它,释放它,并修复任何错误).这将允许您以较慢的速度执行此操作并获得反馈.也就是说,如果项目在中途被取消,那么你并没有完成所有的工作,因为最终用户正在使用更新的代码.记住瀑布模型,这基本上是完全交换的几乎永远不会起作用.
尽管我不愿承认这一点,因为对于开发人员来说,它总是最有趣的,转移平台,并且一次取代整个系统很少有效.有无数的例子,Netscape一个. Here is the post from Spolsky on it.(我还推荐这本书Dreaming in Code.这是一个失败的软件项目以及如何和为什么的一个很好的例子).记住要从头开始重写一个系统,你基本上必须经历每一行代码并弄清楚它的作用和原因.起初你认为你可以跳过它,但最终归结为此.就像你说的那样,你的代码已经过时了,这意味着它很可能会完成任务.其中一些你可以忽略,其他人会,“我不知道系统需要它做到这一点.”