JavaScript/CSS与Silverlight vs. Flex

前端之家收集整理的这篇文章主要介绍了JavaScript/CSS与Silverlight vs. Flex前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们目前有一个非常复杂的业务应用程序,其中包含大量用于创建用户界面的 JavaScript代码.交互感觉尽可能接近传统桌面应用程序(因为这是我们的用户想要的).多年来,这个Javascript代码已经发展壮大,难以管理和扩展.维持并使得添加功能更有可能打破现有功能.毋庸置疑,许多此代码也不再是现有技术.

因此,我们有一些持续的讨论是否应该在Flex或Silverlight中重新编写应用程序的客户端部分,或者使用jQuery等一些最先进的JavaScript框架重新编写,或者我们是否应该继续使用我们的内容已经并逐渐尝试替换现有代码的最差位.更难以决定的是,重新编写UI可能会花费我们6-12个月的时间.

我想听听你对这个问题的看法(也许你们中的一些人已经不得不做出类似的决定).

编辑:回答答案提出的一些问题:后端代码是用C#编写的,目标受众(通常)是我们出售软件的公司的非技术用户(不是一般公众,但并非严格的内部用户),软件“只”必须在桌面浏览器中运行,但不一定在移动设备上运行,客户端应用程序是一个完整的用户界面.

解决方法

老实说,我会重构旧的JavaScript代码而不是重写应用程序.既然你在询问将它放在哪个平台上,我猜你的团队并不是他们中的任何一个(不会抨击团队,这只是一个简单的事实,你在做出决定时必须考虑).这将对您不利,因为您将进行双重任务重写并学习如何在新平台上执行操作.

通过将其保留在JavaScript中,您可以慢慢地引入一个框架,如果您选择并迭代地执行(替换代码部分,测试它,释放它,并修复任何错误).这将允许您以较慢的速度执行此操作并获得反馈.也就是说,如果项目在中途被取消,那么你并没有完成所有的工作,因为最终用户正在使用更新的代码.记住瀑布模型,这基本上是完全交换的几乎永远不会起作用.

尽管我不愿承认这一点,因为对于开发人员来说,它总是最有趣的,转移平台,并且一次取代整个系统很少有效.有无数的例子,Netscape一个. Here is the post from Spolsky on it.(我还推荐这本书Dreaming in Code.这是一个失败的软件项目以及如何和为什么的一个很好的例子).记住要从头开始重写一个系统,你基本上必须经历每一行代码并弄清楚它的作用和原因.起初你认为你可以跳过它,但最终归结为此.就像你说的那样,你的代码已经过时了,这意味着它很可能会完成任务.其中一些你可以忽略,其他人会,“我不知道系统需要它做到这一点.”

猜你在找的JavaScript相关文章