首页 > javascript 框架和库有什么关系和区别

javascript 框架和库有什么关系和区别

如题javascript 框架和库有什么关系和区别?


对规模大的项目比较明显, 比如说前端单页面应用, 需要处理这样一些东西:

提供几乎完整的解决方案的库就是框架了, 当然也可以作为库发布.
通常库的话只是尝试解决一两个方面的问题, 大而全也可能有.

另外 JavaScript 一般是说 module(模块), 如果在其他社区, 不是非常确定完全一致.


比如jQuery是lib,而angular js是框架


我觉得库和框架还是有很大区别的,库的的概念和意义是用来提供一些方法的集合,避免重复定义相同功能的函数并具有一定的模式兼容性,而所谓框架,更应该是规法开发者按照框架的设计去做一些事,而非简单的工具集的概念,框架可以提供相应的库或者基于库来实现,但库一般不会具备框架的规范性。


没本质区别。

框架也算是库的一种,但倾向于重量级一些,倾向于提供整套的解决方案,倾向于创造一些需要你来遵守的规则和范例。

比如 AngularJS 就算是一个框架,因为它提供了一整套的解决方案,需要你按照它设计好的方式来写代码。而 jQuery 的分类则比较模糊一些,可以说是库,也可以说是框架。


本质上来讲,像jq之类的,它不过是提供了一些对象和函数,完全可以看做库。
java上的ssh也是一大堆类组成的,也可以看做库。
但是像node.js,它不仅仅是库了,他是一个cli,也就是解释器。


framework contains library


Library和framework最大的区别是: inversion of control. 也就是,

your code calls a library but a framework calls your code.

什么意思?也就是,

Reference: framework vs library.


库就是类库,就是别人封装好的js方法,框架即库。


框架要求你用某种形式去写代码,比如遵照MV*的约定,等等。
库只是提供了写代码时实现某种形式的方法,比如提供了XHR的封装,对DOM的简便操作。

一个简单的分辨方式:引入一个依赖,如果要对架构进行修改的,那么就算是框架;如果无需修改原有架构,那么就算库。

【热门文章】
【热门文章】