欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~
相比于JavaScript开发人员的数量,目前JavaScript框架、类库和工具的数量似乎更多一些。截至2017年5月,上的显示,有超过110万个JavaScript项目。npmjs.org有50万个可用的软件包,每月下载量近100亿次。
本文将会讨论目前最为流行的客户端JavaScript框架、类库和工具以及它们之间的基本差异。也许本文无法告诉你哪个是最好的,但是最适合自己项目的,就是最好的。
类库类库是一个有组织的功能集合。典型的类库包括字符串处理、日期、HTML DOM元素、事件、Cookie、动画、网络请求等功能。你可以自己实现一个函数,以便选择该函数被调用时是否需要返回一个值。
类库通常提供一种高级别的抽象方法,能够帮助顺利实现项目的细节部分。例如,Ajax通常依赖于XMLHttpRequest API,只需要几行代码就实现功能,只是浏览器之间存在细微的差异。类库提供了更简单的ajax()函数,因此开发者可以专注于更高级别的业务逻辑上。
类库能够使将开发时间缩短20%,开发者不必担心细节实现。
但是也有缺点:
框架框架是应用程序的骨架。它要求以特定的方式来进行软件设计,在某些节点上实现自己的逻辑。框架通常提供了事件、存储和数据绑定等功能。
框架通常提供了比类库更高层次的抽象,帮助快速构建项目的前80%。
框架的缺点:
工具工具会帮助开发工作,但却不是项目的组成部分。工具包括构建系统、编译器、转译器、代码分割器、图像压缩器、部署机制等。
工具帮助实现一个更容易的开发过程。例如,对比于CSS,许多编码者更喜欢Sass,因为它提供了代码分离、嵌套、渲染时变量、循环和函数。浏览器不了解Sass / SCSS语法,因此在测试和部署之前,必须使用适当的工具将代码编译为CSS。
类库、框架和工具的区别类库、框架和工具之间的区别很小。框架可以包括一个类库,类库可以实现类似框架的方法,项目中任何一种工具都是必不可少的。所以不需要明确的区分类库、框架和工具。
JavaScript框架和类库以下是按照流行程度进行的排序:
jQuery
jQuery
类型
类库
网站
jquery.com
知识库
github.com/jquery/jquery
当前版本
3.2.1
开发人员
jQuery团队
发布日期
2006年8月
大小
最小30kb
用途
通用
使用度
72.4%的网站
随着WordPress、ASP.NET和一些其它框架的发布,jQuery仍然是最常用的JavaScript类库。它通过将CSS选择器引入到DOM节点检索加链来应用事件处理程序、动画和Ajax调用,这彻底改变了客户端的开发。
jQuery近年来备受青睐,对于需要少量JavaScript功能的项目来说,仍然是一个好选择。
优点:
缺点:
Lodash 和 Underscore
Lodash
类型
类库
网站
lodash.com/
知识库
github.com/lodash/lodash/
当前版本
4.17.4
开发人员
John-David Dalton
发布日期
2012年4月
大小
最小4kb - 24kb
用途
通用
使用度
低
Underscore
类型
类库
网站
underscorejs.org/
知识库
github.com/jashkenas/underscore
当前版本
1.8.3
开发人员
Jeremy Ashkenas
发布日期
2009年10月
大小
最小6kb
用途
通用
使用度
低
Lodash和Underscore在本节一起谈论。它们提供了数百个功能性的JavaScript实用程序来补充原生字符串、数字、数组和其它原始对象方法。虽然两个类库之间有一些重叠,但是不太可能在一个项目中同时使用这两个类库。
虽然两个类库在客户端使用率很低,但是却可以在服务器端的Node.js应用程序中使用这两个类库。
优点: