在这里,jquery在框架类别下被提及:http : //en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jQuery是JavaScript库还是框架?
在这里,jquery在框架类别下被提及:http : //en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks
jQuery是JavaScript库还是框架?
Answers:
图书馆。根据主页,我同意。
框架通常迫使人们以某种方式实现解决方案,而jQuery只是使实现您想做的事情变得容易的工具。
当然,这是一个javascript库。但是关于是否成为框架,我只是认为这不是框架。看一下Wikipedia对软件框架的定义:
它是提供定义的应用程序编程接口的软件库的集合。
jQuery只是一个库。之后它说:
框架包含一些关键的区别功能,这些特征将它们与普通库分开:
- 控制反转-在框架中,与库或普通用户应用程序不同,整个程序的控制流不是由调用者决定,而是由框架决定。
因此,我认为这不是一个框架。
- 库-编写Web应用程序时有用的功能集合。您的代码由您负责,并在
合适时调用库。例如,jQuery。- 框架-Web应用程序的特定实现,您的代码将在其中填充详细信息。该框架负责管理,当需要特定于应用程序的内容时,它将调用您的代码。例如,durandal,炭烬等
框架和诽谤不一定是互斥的术语。框架通常是图书馆或图书馆的集合。
严格来说,jQuery是一个库,但是在某种程度上,它确实满足了软件框架的定义。尽管许多人认为jQuery不能完全严格地满足软件框架的定义,但事实是,没有其他JavaScript框架也可以完全满足框架的定义。
软件框架的定义特征之一是保护其代码不受修改。在JavaScript中,情况显然并非如此。可以调用客户端代码的任何库或框架都是可修改的,尽管更改它们是违反最佳实践的。因此,如果允许将Bootstrap或AngularJS称为框架,则没有理由也不能将jQuery也称为框架。该链接包含有关jQuery如何满足被称为框架的条件的更详细说明。
关于jQuery为什么比框架更像框架而不是库的最好解释是,作为开发人员,您可以选择不使用任何类似框架的功能。例如,您可以在同一行上将简单的jQuery语句与标准JavaScript语句混合使用。AngularJS和Bootstrap通常不允许您执行此操作。因此,不管jQuery是否为框架,准确的答案是“它取决于您是否选择将其用作框架”。
我同意这里所有的答案,即jQuery本身确实是一个库,而不是一个框架。根据Saeed的回答,关键区别特征之一是控制反转。但是,您可以使用jQuery的功能来创建自己的框架。
示例:有一些基于jQuery构建的项目被定义为框架:jQuery Mobile:触摸优化的Web框架,JavaScriptMVC和sammy.js等。
还有其他基于jQuery构建的库,例如jQuery UI
在定义什么是库还是框架时,其中有些看起来像语义,但是这些示例帮助我划清界限。
如果我们谈论控制反转,以上线程中的几乎每个人都在谈论,那么jQuery是一个框架。
它具有IOC,例如,当我们编写函数$(document).ready {}时 ...它是调用此方法的容器,我们只需将代码放在花括号中即可。我们不是此方法的调用方,因此不是“控制反转”
这样,jQuery是一个框架。
ready()
。