库:就是可重用的代码包。
1、库代码经过了大量用户的测试和验证。
2、库能够很容易地与现有的开发框架集成。
3、库为大多数日常琐碎的DOM编程工作提供了方便,简洁的方案,每个函数都能节省很多行代码。
4、库很好的解决了跨浏览器的问题,让你更省心。
1、库是别人而不是你自己编写的,你可能不了解它的内部工作机制,因此很难调试bug或解决由它所导致的问题
2、要使用库,就要把它集成到脚本中。这样就会加重页面加载的负担,挤占用户有限的带宽。
3、混合使用多个库可能会造成冲突,同时也会造成功能浪费。
如果你对库只能亦步亦趋而不能超越,那它也会成为你不思进取的慢性毒药。在决定使用库之前,建议大家先花点时间了解工作机制的重要性,而不要停留在问题的表面上。唾手可得的库比比皆是,但是如果你不能理解它们背后的工作机制,对你和你的程序都不能算是什么好事。如果你对某个库理解不透,而这个库又假设你知道相关细节,那你很可能被一些琐碎的问题绊住脚。
如何选择合适的库
在选择库的时候,你会发现自己将面临上百种选择。要作出正确的选择,建议你考虑如下问题。
1、它具备你需要的所有功能吗?
混合使用多个库可能导致问题。一些常见的方法,如$()和get(),虽然表面上相同,但功能却完全不一样。此外,如果同时使用多个库,重复功能和冗余代码也是不可避免的。
2、它的功能是否比你想要的还多?
功能太少是一个问题,但功能过多同样不好。如果库中包含很多你用不着或者不能完全利用的功能,最好还是选择一个功能少一些的版本,至少能加快下载的速度。开发移动应用时这一点尤其要考虑。
3、它是模块化的吗?
在解决文件大小问题时,功能丰富的库通常使用模块化的方法,把不同功能分割保存到不同的文件中。这样,你就可以只加载包含相应功能的个别文件,从而降低下载量。多数情况下,恐怕都得事先加载所有必须的文件,只有少数库提供了动态加载机制,让你能够按需动态加载文件。动态加载文件时,还要事先考虑到请求的次数。经验表明,一次请求一个大文件,要比多次请求多个小文件更好。
4、它的支持情况怎么样?
如果库的背后没有活跃的开发人员社区维护,就意味着bug没人修改,功能无法改进。从另一方面说,使用和维护的人多本身也就说明它的问题更少,也更可靠。库背后的社区不仅仅意味着修复和功能,也意味着在你需要帮助时能够及时得到很多人的支持。
5、它有文档吗?
没有文档,会让人无所适从。是这样的,也许你会碰到别人不知道什么时候写的几个使用示例,但如果没有官方的文档,至少说明它的开发人员不够投入,而库本身也不会有什么大的发展前途。
6、它的许可合适吗?
别以为可以在线查看源代码,自己就可以想怎么用就怎么用了。在决定使用一个库之前,必须查证自己的用途包含在它的许可范围内,如果有特殊需求,就更要事先确定了。
在选定了一个合适的库并在此基础上有了新的发明创造之后,别忘记回馈社区!这些库都是开发人员无私奉献的结晶,他们牺牲自己有限的休息时间,就是为了改进你每天都在用的工具。如果你不能帮助改进库的功能或者修改bug,可以提供一些使用示例和教程啊,就算帮着写写文档也是功德无量的。总之,只要有心,不管做什么都会促进库的良好发展。