javascript 框架和库有什么关系和区别
阿神
阿神 2017-04-10 14:41:49
0
9
509

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

阿神
阿神

闭关修行中......

membalas semua(9)
左手右手慢动作

没本质区别。

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

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

PHPzhong

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

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

什么意思?也就是,

  • 当你在调用library的时候, 你按照自己的意愿来control他(比如jQuery)。
  • 而,对于framework, 那么control就是倒转过来了,是他在调用你(比如bootstrap), 就像是Hollywood的一个principle: Don't call Us, We'll call You.

Reference: framework vs library.

PHPzhong

framework contains library

小葫芦

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

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

左手右手慢动作

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

左手右手慢动作

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

迷茫

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

黄舟

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

  • 数据层的抽象
  • 视图的抽象
  • 事件传递和控制流程
  • 网络通信
  • 路由管理

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

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

Peter_Zhu

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan