Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Web applications Javascript:我们应该在什么时候(如果有的话)使用库?_Web Applications_Javascript - Fatal编程技术网

Web applications Javascript:我们应该在什么时候(如果有的话)使用库?

Web applications Javascript:我们应该在什么时候(如果有的话)使用库?,web-applications,javascript,Web Applications,Javascript,有人问过类似的问题,但我找不到这个。如果我错了,我相信SO义务警员会纠正我;) 我的问题(貌似)很简单:如果有的话,我们应该在什么时候使用Javascript库? 许多开发者提倡只使用纯Javascript。然而,似乎大多数开发者都使用一些库。我并不是(一定)询问特定的库,但您在什么时候决定使用库甚至框架 例如: 如果我想显示一个倒计时计时器,那么包含计时器库和DOM操作库肯定是浪费,因为Javascript完全能够简单地处理这些操作 但是 如果我正在构建一个大型社交媒体平台(比如Faceboo

有人问过类似的问题,但我找不到这个。如果我错了,我相信SO义务警员会纠正我;)

我的问题(貌似)很简单:如果有的话,我们应该在什么时候使用Javascript库?

许多开发者提倡只使用纯Javascript。然而,似乎大多数开发者都使用一些库。我并不是(一定)询问特定的库,但您在什么时候决定使用库甚至框架

例如:

如果我想显示一个倒计时计时器,那么包含计时器库和DOM操作库肯定是浪费,因为Javascript完全能够简单地处理这些操作

但是

如果我正在构建一个大型社交媒体平台(比如Facebook),那么至少应该包括JQuery以实现跨浏览器的UI一致性、DOM操作、也许还有Ajax等等,这肯定是明智的

然后

也许我们可以看看其他的——一个MVC框架,一个模板库,等等

我知道很多人也建议只从库中取出实际使用的零件

所以


关于何时(或如何)的任何一般性建议要包含库?

IMHO当您花费更多的时间来实现移动部件而不是应用程序本身时,它是开始使用库的时间

IMHO当您花费更多的时间来实现移动部件而不是应用程序本身时,它是开始使用库的时间

,当你对图书馆感到满意时,你应该使用它。如果您使用jQuery或Mootools,并从例如Google托管库()或其他CDN中包含它们,则文件本身几乎总是被缓存,或者从高速CDN提供一次,过期时间超过30天。虽然不使用任何库就可以实现简单的问题,但库的目的是让开发人员的生活变得简单。如果你的生活因为使用了一个不会让你的网站变慢,或者不会给你的服务器带来压力的库而变得更容易,那么一定要让它变得更容易


作为一项建议,我想逆转这个问题:始终使用库,除非您可以在没有它的情况下简单快速地实现所需的完整解决方案。

一般来说,您应该在熟悉库的情况下使用它。如果您使用jQuery或Mootools,并从例如Google托管库()或其他CDN中包含它们,则文件本身几乎总是被缓存,或者从高速CDN提供一次,过期时间超过30天。虽然不使用任何库就可以实现简单的问题,但库的目的是让开发人员的生活变得简单。如果你的生活因为使用了一个不会让你的网站变慢,或者不会给你的服务器带来压力的库而变得更容易,那么一定要让它变得更容易


作为一项建议,我想逆转这个问题:始终使用库,除非您可以在没有它的情况下简单快速地实现所需的完整解决方案。

我认为这方面没有明确的答案,如果问题因此而关闭,我也不会感到惊讶。无论如何,我都会提出我的观点

你的计数器与社交媒体平台的对比太过做作,根本不现实。但即使这是一个合理的例子,我想说应用程序的大小或复杂性(感知的或其他的)与您的决定关系不大。事实上,我认为你正在制造一个你很可能还没有遇到的问题

与其考虑实现应用程序所需的工具,不如考虑您正试图用它实现什么。有些人称之为业务逻辑,随你怎么说都行,但如果你花时间思考工具,而不是如何进入市场,很可能你把注意力放在了错误的事情上。工具,以及何时使用它们,永远不应该是您最关心的问题

这是我认为你应该做的。写下两行文字说明为什么你的应用程序有意义,为什么它的存在是合理的——不要提及任何工具!把它们烤成幸运饼干,几天后打开。如果你读了它,它仍然是有意义的,然后找出最小的功能集是什么-不要提到任何工具!几天后再看一次,它还有意义吗?杰出的现在构建一个原型——不在乎使用什么工具,只要使用任何有效的工具来证明你的想法。向其他人展示,这是一个有用的演示吗?对太棒了,你有一个项目

无论是您自己的纯javascript、被库污染还是完全不同的环境,这都无关紧要。这些工具并不重要。重要的是你想要实现什么以及如何实现它。这些工具是外围的,次要的。它们是你到达目的地所需要的任何东西。如果这意味着使用提供移动部件的库来启动应用程序,那就好了!如果这意味着在javascript上使用coffeescript,那就好了!最后,真正重要的是你在努力实现什么,你用来实现目标的工具永远都不是首要考虑的问题

在你前进的过程中把它弄清楚。在你做对之前,你可能会犯很多次错误,这就是饼干破碎的方式


你也会发现这段视频很有用。这是一篇关于清洁体系结构的讨论,虽然它主要是讲述不关注工具如何帮助构建更好的产品,这很可能是您想要做的


我认为这个问题没有一个明确的答案,如果这个问题因此而结束,我也不会感到惊讶。无论如何,我都会提出我的观点

你的计数器与社交媒体平台的对比太过做作,根本不现实。但即使这是一个合理的例子,我也会说应用程序