在一个项目中使用多个JavaScript框架?

4

在一个IT项目中使用多个框架是好还是不好呢?会不会因为过于混乱而导致加载时间变长?100K真的很重要吗?或者应该只使用一个框架?

4个回答

11

通常来说,为许多原因选择一件事情并坚持做下去是更好的:

  • 依赖更少。
  • 复杂性更低。
  • 更易于维护。
  • 加载时间更快。
  • 不会出现依赖冲突(即如果只有一个Javascript框架,则jQuery不会与其他Javascript框架发生冲突)。
  • 调试时间更短。

现在额外的 ~50k 对于个人网站或博客来说可能不会对任何人造成影响。当你扩大规模时,所有这些额外的50k点击量会影响到你的底线。但是,即使你只是为了一个小网站而做这项工作,从更快地解决问题中节省的心理成本很容易就能够弥补它。

话虽如此,如果你只需要 Javascript 框架的特定部分,那么较大的框架通常被拆分成逻辑块,因此您可以只取您需要的部分而不是整个框架。现在大多数框架都非常丰富,如果框架X具有你想要的功能,但你正在使用框架Y,你几乎可以直接将该功能的源代码映射到框架Y中。


2
如果您可以从一个存储库加载JavaScript库,并在第一次访问时将其缓存,那么我认为这没有任何问题。但是为了统一起见,我会选择一个JavaScript库。如果您真的有使用两个库的强烈理由,那么就继续使用吧,只要第一次已经被缓存。

0

在John的话中,可以选择例如JQuery,它允许您在不与其他库冲突的情况下使用它。我记得曾经尝试过prototype和mootools时遇到了麻烦,因为我想从前者和后者中获取一些东西,但那是很久以前的事情,也许已经解决了。

不知何故,我发现维护单个库更容易,并且它们之间几乎没有真正的区别。这更与每个库处理文档映射和将事物应用于其元素的方式有关,这会导致响应时间上的差异,但目标恰好相同。

祝你做出明智的选择 :)

附言:如果您在Web应用程序中提供的内容进行gzip压缩并修复ETags,则加载一个或两个js框架之间的差异并不是非常重要-除非您在Facebook、Meebo等网站上!-我发现雅虎的建议很有帮助。 http://developer.yahoo.com/performance/rules.html


0

除非真的没有其他选择,否则我不会同时运行两个框架。它们通常不是为了与其他框架良好协作而编写的;它们可能会引起许多潜在的问题。

例如,对于jQuery,很多东西都取决于库添加为元素节点属性的用户数据键标识符。如果您开始通过另一个框架(甚至只是普通的DOM方法)进行克隆、添加/删除等操作来更改文档结构,那么这些标识符就不像jQuery期望的那样唯一;它很容易混淆并最终无法调用事件处理程序或出现错误。这种情况不好调试。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接