有人问过类似的问题,但我找不到这个问题。如果我错了,我确定SO警察会纠正我;)
我的问题(看似简单):在什么时候,如果有的话,我们应该使用Javascript库吗?
许多开发人员主张只使用纯Javascript。似乎大多数开发人员确实使用了一些库。我不是(必然)询问特定的库,但你决定在什么时候使用库甚至框架?
例如:
如果我想显示倒数计时器,那么为计时器和DOM操作包含库肯定会浪费,因为Javascript完全能够简单地处理这些操作。
BUT
如果我正在构建一个大型社交媒体平台(想想Facebook),那么至少包含JQuery用于跨浏览器UI一致性,DOM操作,可能是Ajax等等,这是明智的。
THEN
也许我们可以看一些其他的 - 一个MVC框架,一个模板库等......
我知道很多人还建议只从库中拉出实际使用的部件。
SO
关于何时(或如何)包含库的任何一般性建议?
答案 0 :(得分:3)
恕我直言当你花更多时间实现移动部件而不是应用程序本身时,开始使用库
答案 1 :(得分:1)
一般情况下,您应该在适应它时使用库。如果您使用jQuery或Mootools,并将其包含在例如Google Hosted Libraries(https://developers.google.com/speed/libraries/)或其他CDN中,则该文件本身几乎总是被缓存,或者从具有30天以上到期的高速CDN提供一次。虽然在不使用任何库的情况下实现简单问题当然是可能的,但库的重点是让您的开发人员生活变得轻松。如果您的生活变得更容易使用不会使您的网站变慢的库,或者对您的服务器造成压力,请务必使其更容易。
作为建议,我要反驳这个问题:总是使用一个库,除非你能够在没有它的情况下简单快速地实现完整的所需解决方案。
答案 2 :(得分:1)
我认为对此没有明确的答案,如果问题因此而关闭,也不会感到惊讶。无论如何我都会提出自己的看法。
你的计数器与社交媒体平台的例子太过于人为,无论如何都不太现实。但即使这是一个合理的例子,我也会说应用程序大小或复杂性(感知或其他)与您的决定几乎没有关系。事实上,我认为你正在创造一个你可能还没有的问题。
不要考虑实现应用程序所需的工具,而应考虑使用它实现的目标。有些人称之为商业逻辑,无论你想做什么都称之为,但如果你花时间考虑工具而不是如何进入市场,你很可能会把注意力集中在错误的事情上。工具以及何时使用它们永远不应成为您的主要关注点。
这是我认为你应该做的。记下关于为什么你的应用程序有意义以及为什么它的存在是合理的两行:不要提任何工具!把它们烤成幸运饼干,几天后打开它。如果您阅读它仍然有意义,那么找出最小功能集是什么 - 不要提及任何工具!几天后再看一遍,它还有意义吗?优秀!现在构建一个原型 - 不关心使用什么工具,只需使用任何工作来证明你的想法。把它展示给别人,这是一个有用的演示吗?是?很棒,你有一个项目!
在这方面,无论是你自己的纯JavaScript,被图书馆污染还是完全不同的环境都无关紧要。这些工具并不重要。重要的是你要实现的目标以及如何实现目标。这些工具是外围的,次要的。它们是您需要用来到达目的地的任何东西。如果这意味着使用提供移动部件的库来推动您的应用程序滚动 - 很好!如果这意味着使用coffeescript而不是javascript - 很好!最后,真正重要的是你想要实现的目标,你用来实现目标的工具永远不会成为主要关注点。
随身携带,弄清楚。在你做对之前,你可能会错误地多次弄错,这就是cookie崩溃的方式。
您可能还会发现此视频很有用。这是一个关于干净架构的讨论,虽然它主要是关于不如何专注于工具帮助构建更好的产品,并且很可能是你想做的事情。