Gre*_*egL 164

图书馆.根据主页,我同意.

框架通常会强制某种方式实现解决方案,而jQuery只是一种工具,可以更轻松地实现您想要的功能.

  • +1.您可以从程序中调用库.框架是调用程序的东西. (53认同)
  • 有关库与框架的比较,请参阅“控制反转” http://stackoverflow.com/a/3057818/2144912 (2认同)

Dun*_*zzz 29

jQuery:写得更少,做得更多,JavaScript .

  • 虽然我同意,但是一个自己给出的名字/口号没有任何证据.有数千个所谓的"框架",实际上有库. (14认同)

Sae*_*eed 18

当然,它是一个javascript库.但是关于成为一个框架,我只是认为它不是一个框架.看一下维基百科对软件框架的定义:

它是一组软件库,提供定义的应用程序编程接口.

而jQuery只是一个单独的库.之后它说:

框架包含将它们与普通库分开的关键区别特征:

  1. 控制反转 - 在一个框架中,与库或普通用户应用程序不同,整个程序的控制流程不是由调用者决定的,而是由框架决定的.

所以,我认为这不是一个框架.


Har*_*rke 8

根据angularjs网站

  • 库 - 一组在编写Web应用程序时很有用的函数.您的代码负责,并在
    它认为合适时调用库.例如,jQuery.
  • 框架 - Web应用程序的特定实现,其中您的代码填充详细信息.该框架负责,当需要特定应用程序时,它会调用您的代码.例如,durandal,ember等


小智 7

框架和库不一定是相互排斥的术语。框架通常是一个库或库的集合。

严格来说,jQuery 是一个库,但在某种程度上,它确实符合软件框架的定义。尽管许多人会争辩说 jQuery 不够严格地满足软件框架的定义,但事实是,没有其他 JavaScript 框架完全满足框架的定义。

软件框架的定义特征之一是其代码不受修改。在 JavaScript 中,情况显然不是这样。任何可以调用到客户端代码中的库或框架都是可修改的,尽管更改它们将违反最佳实践。因此,如果可以将 Bootstrap 或 AngularJS 称为框架,那么 jQuery 也没有理由不能称为框架。此链接包含有关 jQuery 如何满足被称为框架的标准的更详细说明。

或许 jQuery 更像是一个框架而不是一个库的最好解释是,作为开发人员,您可以选择不使用其任何类似框架的功能。例如,您可以在同一行中混合使用简单的 jQuery 语句和标准的 JavaScript 语句。AngularJS 和 Bootstrap 通常不允许你这样做。因此,jQuery 是否是框架的准确答案是“这取决于您是否选择将其用作框架”。