2

在我的工作中我使用dojo,我的经验是,当浏览器发生重大升级时,旧版本的dojo的某些部分会损坏。为了使 Web 应用程序在最新的浏览器版本中运行,您确实必须不断更新到最新版本的 dojo。

我想知道所有 javascript 库是否都是这种情况,因为我现在正在研究一个大师项目,这是一个我的教授已经投入使用的网络应用程序。我想使用图书馆的一些不错的功能,但我不希望我会永远维护这个项目。当浏览器升级出来时,我不希望应用程序停止工作。

无论如何,如果有人对此主题有信息或建议,我将不胜感激。

4

4 回答 4

2

当然,所有 javascript 库都是如此。

浏览器推出了新功能或破坏旧版本的功能。图书馆唯一能做的就是发布一个更新版本来处理破损。

如果代码是实时的并且需要继续工作,这就是你能做的。

减轻它的唯一方法是坚持标准并仅使用所选库中不是浏览器破解的通用功能(这极大地限制了您并且不能保证提供帮助)。

于 2011-09-20T18:25:11.290 回答
1

这比 JavaScript 更广泛。当新版本的操作系统出现时,本机应用程序需要进行一些调整。当新版本的软件问世时,插件需要一些调整。当“某事”发生变化时,任何依赖于自身外部事物的事物都可能需要进行一些维护。不过,对于 JavaScript 来说,情况确实更糟......

这并不意味着它完全没有希望。您可以通过遵循一些准则来最小化这些问题:

  • 阅读你所依赖的东西的文档,并坚持记录在案的行为。你只是在它们“似乎工作”之前一直坚持的事情更有可能在以后破坏,因为它们更有可能依赖于未记录的功能。你编码的东西越正确(即框架提供者期望你如何),它就越有可能保持稳定。

  • 尽可能减少您所依赖的事物的数量。如果你依靠六件事,其中一件就会坏掉。如果你依靠两件事,可能要等很久才会出现问题。

  • 寻找具有长期跟踪记录的框架,并查看它们在升级过程中的表现。除非开发团队强烈声明他们已经改变了他们的方法,否则您应该期望未来看起来像过去。

  • 保持你所依赖的东西简单。框架越大、越全面,当发生潜在变化时,它的某些部分就越有可能出现问题。这样做的必然结果是:保持你正在做的事情简单。你制作的程序越复杂,它就越有可能出现问题。

  • 如果需要复杂性,那么在框架中通常比在您的代码中更好。一个广泛使用的框架更有可能被仔细编写,以避免将来出现中断,而不是你编写的具有相似复杂性的随机内容。

最后,复杂的需求导致复杂的特性导致复杂的依赖导致脆弱的升级。保持您的要求简单,您的升级将更加无缝。在华而不实/花哨和长期稳健之间存在权衡。如果长期维护对您来说成本很高,那就保持简单。

于 2011-09-20T18:53:55.243 回答
0

Javascript 库不依赖于浏览器,如果那样管理库是不可能的。

于 2011-09-20T18:26:04.287 回答
-1

您最好的选择是使用 JQuery ...您可能需要更新它,不是为了兼容性,而是至少为了新的改进功能。但它会经常更新以保持兼容性。请记住,由于向后兼容性,更新库并不一定意味着更新代码。

于 2011-09-20T18:33:16.377 回答