【发布时间】:2009-12-26 17:08:21
【问题描述】:
在一个项目中拥有多个框架是好是坏,还是不好,因为它变得杂乱(= 一团糟),并且加载时间可能会变长。大约 100 K 真的很重要吗?还是应该坚持一个?
【问题讨论】:
标签: javascript jquery dojo
在一个项目中拥有多个框架是好是坏,还是不好,因为它变得杂乱(= 一团糟),并且加载时间可能会变长。大约 100 K 真的很重要吗?还是应该坚持一个?
【问题讨论】:
标签: javascript jquery dojo
出于多种原因,通常最好选择一件事并坚持下去:
确实,如今额外增加约 50k 可能不会因为个人网站或博客而杀死任何人。当您扩展到更大的尺寸时,好处就来了,所有这些额外的 50k 次点击都在侵蚀您的底线。但是,即使您只是为一个小型网站执行此操作,通过更快地找出问题来节省您的理智也是值得的。
也就是说,如果您只需要 Javascript 框架的特定部分的一部分,则较大的部分通常会分成逻辑块,这样您就可以只取所需的部分而不是整个框架。现在大多数都足够丰富,如果框架 X 有你想要的功能,但你使用的是框架 Y,你几乎可以直接将该功能的源代码映射到框架 Y。
【讨论】:
如果您可以从第一次访问时缓存的存储库中加载 javascript 库,那么我认为这没有任何问题。
但是,为了统一起见,我将使用一个 javascript 库。
但是,如果您真的有充分的理由使用两个,那就继续吧。就第一次缓存而言。
【讨论】:
只需在 John 的话中添加一些内容,例如可以选择 JQuery,它允许您使用它而不会与其他库发生冲突。我记得有一次,我在尝试原型和 mootools 时遇到了麻烦,因为我想要前者的一些东西,后者的一些东西,但它是很久以前的,也许它已经解决了。
不知何故,我发现维护单个库更容易,并且它们之间存在一些真正的差异。它更多地与每个人处理文档映射并将事物应用于其元素的方式相关,这会导致响应时间不同,但目标恰好是相同的。
祝你选择好运:)
PS。如果你 gzip 并修复你在 webapps 中提供的东西中的 etags,那么加载一个或两个 js 框架之间的区别并不重要——除非你在 facebook、meebo 等!我发现 yahoo!建议很有帮助。 http://developer.yahoo.com/performance/rules.html
【讨论】:
除非真的别无选择,否则我不会运行两个框架。它们通常不是为了与他人相处融洽;它们有很多潜在的方式可能导致不必要的交互。
例如,对于 jQuery,很大程度上取决于库作为属性添加到元素节点的用户数据键标识符。如果您开始通过从另一个框架(或者甚至只是普通的 DOM 方法)克隆、添加/删除等来弄乱文档的结构,那么这些标识符就不像 jQuery 期望的那样唯一;它很容易混淆并最终无法调用事件处理程序,或因错误而跳闸。这种事情调试起来并不有趣。
【讨论】: