jquery 是 javascript 库还是框架?

IT技术 javascript jquery frameworks
2021-02-23 17:37:21

在这里,框架类别下提到了 jquery:http : //en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

jquery 是 javascript 库还是框架?

6个回答

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

框架通常是强制以某种方式实现解决方案的东西,而 jQuery 只是一种工具,可以使实现您想做的事情变得更容易。

有关库与框架的比较,请参阅“控制反转” stackoverflow.com/a/3057818/2144912
2021-04-22 17:37:21
+1。库是您从程序中调用的东西。框架是调用您的程序的东西。
2021-05-07 17:37:21
@Kapep 但相反的情况不太常见:没有多少框架称自己为“库”。我想“框架”这个词对某些人来说听起来更性感……
2021-04-29 17:37:21
虽然我同意,但一个自给的名字/口号并不能证明什么。有成千上万个所谓的“框架”实际上是图书馆。
2021-05-14 17:37:21

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

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

jQuery 只是一个库。之后它说:

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

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

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

根据angularjs网站

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

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

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

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

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