框架就是提供了前端项目整体解决方案,库就是自己组合来实现项目。最本质区别在于控制权。
框架:框架顾名思义就是一整套架构,会基于自身的特点向用户提供一套较完整的解决方案,控制权在框架本身,使用者要照框架所规定的某些规范来进行来发。
库:是一个封装好的特定的集合,提供给开发者使用,而且是特定于某一方面的集合(方法,和函数),库没有控制权,控制权在使用者手中,在库中查询需要的功能在自己的应用中使用,一般用封装来理解库。
其他的一些概念
库:为解决某种特定需求的程序功能集合,如jQuery 常用于方便dom操作,解决浏览器兼容等问题
插件:参与程序内部运行环节的一段或多段代码集合,即:plugin,遵循一定规范写出来方便程序展示效果,拥有特定功能且方便调用,如轮播图和瀑布流插件
扩展:使用程序API扩展程序适用面的一段或多段代码,即:extension
组件:可重复使用并且可以和其他对象进行交互的对象,即:Component,能复用的js代码其实和插件差不多,区别就是插件专注于特定功能而组件更专注于复用
控件:提供或实现用户界面功能的组件,控件即组件,反之不一定