库和框架是什么呢?
虽然有时候在一些语境中他们是可以互相替代的,但是我们还是要了解下他们的真正含义。
库:它是一系列对象,方法的代码,我们通过引入库,来实现代码的重用,代码的精简。
框架:它是一个系统中可以重用的一部分,它可能不仅仅包括一种代码和资源,它可能包括了子程序,库,胶水语言,图片等等一系列资源。
所以,相对来说,框架的内容更加丰富,在某些情景中,它可能包括了多个库,多种脚本语言,多个子程序,图片等等。
举个栗子~现在应用十份广泛的JQuery就是一个库。JQuery里面都是Javascript代码,当我们使用它的时候就引入了它里面的对象和方法,这一部分代码我们可以直接用来操作DOM,并且可以一直复用不需要重写。
而我们熟知的Bootstrap就是来自Twitter的一款十分受欢迎的框架,它里面不仅仅是Javascript代码,还有HTML、CSS等,而且Bootstrap的Javascript部分是基于JQuery来写的,也就是说它还包含了JQuery库,所以说它是一款框架。
因为前端市场的庞大,框架和库的的数量也是很庞大的,我们很容易陷入迷茫,应该用哪种框架或者库呢?有人会这样想,越是全越是好,希望它能够尽可能解决大部分的Web开发的问题。
但是我们可能需要了解下框架或者库的作者的初衷和你现在所面对的项目的问题,JQuery的目的是为了让我们更好更方便快捷的去操作DOM,Angular则是通过数据绑定,让开发者直接修改数据模型,从而不需要关心DOM的更新......
可能现在你面对只是一些小的问题,因此你引入了整个BootStrap,不说合不合理,就说因此你就为你的程序增加大量的根本不需要的资源,如果你发现你只是需要处理一些滑动的内容,可能引入swiper会更加简洁轻松。
所以说我们在使用框架和库的时候,最好去了解下框架作者设计框架的初衷是不是和你现在所面对的问题一致,并不是越庞大越丰富越好,合适的才是最好的,也就是对症下药才是最好的。