1. 库(Library) , 代表 : jquery
- 说明 : 库就是一系列函数的集合, 我们开发人员在使用库的时候,想要完成什么样的功能,就调用库中提供的某个方法
- 比如 : 想要添加样式, 就调用 jquery 中的 .css() / .addClass()
- 特点 : 库起到了一个辅助的作用, 在使用库的是时候,是由开发人员说了算, 也是由开发人员起主导作用.
- 比如 : 想给 A:设置样式 A.css(), B:addClass() C:style.background='red'
2. 框架 (Framework), 代表:vue
- 说明 : 框架是一套完整的解决方案, 框架中制定了一套规则,使用框架的时候,只需要按照规则去编写代码, 框架会在适当的时机,执行开发人员编写的代码
- 特点 : 在使用框架的时候,是由框架说了算,由框架起到了主导作用,
- 比如 : 想用vue,组件里遍历就得使用 v-for, 下次不用 v-for 了,使用 for 不行 v-for='item in list'
3. 主要区别 : 控制反转 ( 谁起到了主导作用 )
- 库 : 开发人员起主导作用
- 框架 : 框架起到了主导作用
- 体量 : 框架 > 库
- 会发现使用框架的时候,会受到很多限制
4. 本质区别
框架与库之间最本质区别在于控制权:you call libs, frameworks call you(控制反转)
库:库是更多是一个封装好的特定的集合,提供给开发者使用,而且是特定于某一方面的集合(方法和函数),库没有控制权,控制权在使用者手中,在库中查询需要的功能在自己的应用中使用,我们可以从封装的角度理解库;
框架:框架顾名思义就是一套架构,会基于自身的特点向用户提供一套相当于叫完整的解决方案,而且控制权的在框架本身,使用者要找框架所规定的某种规范进行开发。