![]() |
1
15
老实说,我将重构旧的JavaScript代码,而不是重写应用程序。既然你在问把它放在哪个平台上,我想你的团队不是他们中的任何一个的专家(不是抨击团队,这只是一个简单的事实,你在做决定时必须考虑)。这将对您产生不利影响,因为您将有双重职责重写和学习如何在新平台上进行操作。 通过将它保存在JavaScript中,如果您选择并迭代地执行它,您可以慢慢地引入一个框架(替换代码部分,测试它,释放它,并修复任何错误)。这将使您以较慢的速度完成任务,并在过程中获得反馈。同样地,如果项目被部分取消,那么您就不能完成所有的工作,因为最终用户正在使用更新后的代码。记住瀑布模型,它本质上是完全交换出来的,几乎永远不会工作。 尽管我不愿意承认这一点,但对于开发人员来说,这始终是最有趣的事情,改变平台,同时更换整个系统几乎不起作用。有无数这样的例子,网景就是其中之一。 Here is the post from Spolsky on it. (我也推荐这本书 Dreaming in Code . 这是一个失败的软件项目的很好的例子,以及失败的方式和原因)。记住,从头开始重写系统,你基本上需要仔细检查每一行代码,找出它的作用和原因。一开始你认为你可以跳过它,但最终会归结到这一点。正如您所说,您的代码是旧的,这意味着很可能有黑客在其中完成一些事情。其中一些你可以忽略,另一些则是,“我不知道系统需要它来做到这一点。” |
![]() |
2
5
这些事情让人想起:
当然,javascript有很多东西,而且有很多javascript框架 1 . 最重要的划分是,您的意图是“装饰”一组网页,还是需要一组完整的小部件来在Web上创建类似桌面的应用程序。你的问题表明是后者。 因此——我可能会因为说这个而被否决——我不认为jquery是答案,我说这个的时候喜欢jquery。jquery(imho)对于增强网页和抽象的跨浏览器低级功能非常有用,但对于复杂的UI开发人员来说,最重要的因素是: 都是关于小部件的。 是的,我知道 jQuery UI 但在小部件方面,它比其他的要稀疏得多。我建议您查看一些框架的示例和小部件库: 其他的(jquery、dojo、mootools、prototype)更为“紧凑”的框架,可能不太适合您的目的。 在做决定时还要考虑每个框架的许可。 我对以上三点的看法是:
您的决定应该基于您如何“免费”获得尽可能多的应用程序。您不想花费宝贵的开发人员时间做以下事情:
我会认真地看待上面三个中的一个作为你前进的道路。 |
![]() |
3
5
这个决定通常不太关注技术,而更多关注你的技能和舒适区。 如果你有人吃和呼吸javascript,但对.NET或flash/flex一无所知,那么坚持使用javascript并依赖于jquery或原型之类的库是没有问题的。 如果你有其他人的技能,那么你可能会得到更快的结果使用Silverlight或Flex,因为你得到了相当多的功能“免费”与他们两个。 |
![]() |
4
4
我对这一点的看法非常简单:除非应用需要公开访问,除非它需要搜索引擎优化和可查找,和/或有一个令人信服的案例,它必须保持严格的文本为基础,然后芯片堆叠,以支持富客户端运行时,如flash或silverlight的大门。 一个很大的原因,如果不是最大的,就是它们消除了为多个浏览器和平台开发的复杂性。再次:他们 消除运行时环境变量 . 不再调试Netscape和IE的旧版本,不再进行对象检测和后续的分支,不再进行古怪的CSS攻击——一个代码库,就完成了。将运行时环境卸载到Adobe或Microsoft将为您节省时间、金钱和头疼,其他一切都一样。(当然,有yui、jquery等,但它们并没有消除这个变量——它们只是抽象它。它们不是抽象的 全部的 其中的一个——只有一部分;最终,仍然由您来测试、调试、重新测试、调试、重复。) 当然,由于现有的代码库问题,您的情况要复杂一点,而且很难明确地说出您应该走哪条路,因为只有您有代码,而我们只是有意见的极客。但是假设,仅仅通过你的问题,重构你现有的代码库就涉及到一个足够重要的任务,即使在一开始就考虑到一种替代性的(可能是相对外国的)技术,这听起来是可能的,那么我的反应是你的好奇心很好,而且在做决定之前,你应该认真地看他们两个。 对于我来说,在过去的几年里,我是一个长期的服务器端人员,ASP.NET/C,我编写了很多基于文本的业务应用程序,最后几款着重于用JavaScript提供丰富的Soverign UI。在过去的几年里,我几乎只和flex打交道。我在两个世界都有经验。我可以毫不犹豫地告诉你, 击败flex是其他人的工作 :它只是一款功能丰富、生产效率极高的产品,对于业务线应用程序而言,它仍然领先于Silverlight。我只是不能很好地推荐它;单是数据绑定和事件处理功能就可以节省大量的时间,更不用说你在布局、动画等方面拥有的完全自由了。 所以,我的建议是: 仔细看一下flex . 最后,你可能会发现一个从头开始的重写是一个太大的任务,不能证明是正确的,只有你才能做出这个决定。(公平地说,你对flex项目的处理能力和对javascript项目的处理能力是一样的——我知道。我已经做过了。)但总而言之,flex现在可能是最不受限制、最灵活、功能最丰富、最高效的选择,所以它当然值得考虑。祝你好运! |
![]() |
5
2
你所拥有的任何一个多年来开发的javascript看起来都不可能像今天这样。毫无疑问,这里有很多有用的代码。尽管如此。因此,我的建议是使用jquery重新编写JavaScript,并使用一个可用的GUI附加组件,也许看看yahoos的东西。您还将以这种方式面向最广泛的受众。 |
![]() |
6
1
GUI技术应该首先由目标受众决定。例如,如果你的目标是英国的iPhone用户,我不推荐使用flex,因为iPhone目前没有flash播放器。 请记住,如果您切换到像Silverlight这样成熟的GUI工具包,您的用户可能会发现L&F不自然,因为通常的请求回复周期在客户端框架中并不那么明显。 在那之后,您的开发人员应该有话要说。每一个工具箱都需要维护,如果您切换到一个全新的工具箱,开发人员将不得不熟悉新的工具箱,这可能会很昂贵。 我的建议是,由于您的开发人员熟悉JavaScript,所以您应该坚持使用它,并逐渐用一个新的工具包(如原型、jquery或任何其他工具包)替换旧的JavaScript。使用最先进的工具包,您可能会更快地重做一些旧东西。记住,你可以用任何Tookit构建漂亮的应用程序。 |
![]() |
7
1
我们已经开发了一个极其丰富的应用程序,使用ExcJS和服务器上的C++和一些C++。我们的客户不仅对桌面浏览器中的界面感到满意,而且对JavaScript的修改很少,我们还能够提供Web浏览器支持。此外,我们还有第三世界国家的客户,他们不能使用Flash或Silverlight应用程序,因为他们的现场人员在网吧中使用自助服务亭(其中许多都没有安装Flash-忘记Silverlight!)我认为这些问题和其他问题弥补了用javascript编写复杂应用程序的困难… |
![]() |
8
1
检查这个 comparison table 对于flex与javascript: |
![]() |
Bigeyes · 如何在MVVM模式中添加行? 8 年前 |
![]() |
User9898 · 悬停回到原始颜色时为什么选择 9 年前 |
![]() |
Huma Ali · WCF已完成事件中的异常处理 9 年前 |
![]() |
Nerd in Training · 文件副本发布错误 10 年前 |