2017/06/19 · 底蕴本事 · 工具, 框架, 类库
初藳出处: Craig Buckler 译文出处:蒲陶城控件
相对来讲于JavaScript开拓职员的数额,近日JavaScript框架、类库和工具的多少宛如愈来愈多一些。截止二零一七年八月,GitHub上的快捷搜索显示,有超过110万个JavaScript项目。npmjs.org有50万个可用的软件包,每月下载量近100亿次。
正文将会研商方今可是盛行的客户端JavaScript框架、类库和工具以致它们中间的着力差别。或然本文无法告知您哪些是最棒的,可是最符合本人项指标,正是最佳的。
比较之下于JavaScript开辟人士的数目,近日JavaScript框架、类库和工具的数码就像是越来越多一些。甘休二〇一七年八月,GitHub上的快速寻觅显示,有超过110万个JavaScript项目。npmjs.org有50万个可用的软件包,每月下载量近100亿次。
本文将议和论最近最佳流行的客商端JavaScript框架、类库和工具以致它们之间的为主差距。只怕本文不恐怕告诉你哪个是最好的,然则最符合本人项目标,正是最佳的。
类库是三个有组织的机能汇集。规范的类库包罗字符串管理、日期、HTML DOM成分、事件、Cookie、动漫、互连网央浼等职能。你能够团结落成二个函数,以便选取该函数被调用时是或不是供给回到一个值。
类库常常提供大器晚成种高等其余肤浅方法,能够援助顺遂落到实处项目标细节部分。举例,Ajax平常注重于XMLHttpRequest API,只须求几行代码就落时间效益果与利益,只是浏览器之间存在细微的差异。类库提供了更简约的ajax(卡塔尔国函数,由此开拓者能够小心于更高等别的事体逻辑上。
类库能够使将支付时间减少20%,开拓者不必顾虑细节完毕。
而是也是有重疾:
类库是一个有集体的功力汇聚。规范的类库满含字符串管理、日期、HTML
DOM元素、事件、Cookie、动漫、网络央浼等效能。你能够团结完结一个函数,以便选用该函数被调用时是或不是须求再次来到叁个值。
类库平常提供黄金时代种高档别的空洞方法,能够支持顺遂贯彻项目标内部景况部分。比方,Ajax日常正视于XMLHttpRequest
API,只供给几行代码就落时效果与利益,只是浏览器之间存在细微的差异。类库提供了更简明的ajax(卡塔 尔(阿拉伯语:قطر函数,因而开荒者能够小心于更加高端别的事务逻辑上。
类库可以使将支付时间缩小20%,开拓者不必担忧细节达成。
但是也许有欠缺:
框架是应用程序的骨子。它供给以特定的艺术来扩充软件设计,在某个节点上落成本身的逻辑。框架通常提供了风云、存款和储蓄和数码绑定等效果。
框架平时提供了比类库更加高档期的顺序的架空,扶植火速创设项目标前80%。
框架的劣点:
框架是应用程序的骨架。它供给以一定的不二诀要来开展软件设计,在一些节点上落实团结的逻辑。框架常常提供了事件、存款和储蓄和数据绑定等职能。
框架经常提供了比类库越来越高档次的虚幻,协助急速创设项目标前80%。
框架的欠缺:
工具会拉拉扯扯开辟职业,但却不是类别的组成都部队分。工具饱含营造系统、编写翻译器、转译器、代码分割器、图像压缩器、计划机制等。
工具扶助完结贰个更易于的支付进程。比如,相比于CSS,多数编码者更赏识Sass,因为它提供了代码抽离、嵌套、渲染时变量、循环和函数。浏览器不领悟Sass / SCSS语法,由此在测量检验和布局从前,必须运用合适的工具将代码编写翻译为CSS。
工具会扶持开拓职业,但却不是项目标组成都部队分。工具包含营造系统、编写翻译器、转译器、代码分割器、图像压缩器、安顿机制等。
工具帮忙完毕多个更易于的支出进程。比如,比较于CSS,超多编码者更爱好Sass,因为它提供了代码分离、嵌套、渲染时变量、循环和函数。浏览器不明白Sass
/ SCSS语法,因而在测量试验和安排从前,必须选用方便的工具将代码编写翻译为CSS。
类库、框架和工具的区分
类库、框架和工具之间的区分比非常的小。框架能够总结叁个类库,类库能够兑现形似框架的艺术,项目中别的风流倜傥种工具都以必须的。所以没有必要肯定的区分类库、框架和工具。
JavaScript框架和类库
以下是比照流行水平举行的排序:
类库、框架和工具之间的差异异常的小。框架可以蕴涵叁个类库,类库能够兑现近似框架的点子,项目中其余生机勃勃种工具都以供给的。所以没有要求理解的区别类库、框架和工具。
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 | |
---|---|
类型 | 类库 |
网站 | 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应用程序中央银行使那三个类库。
优点:
缺点:
AngularJS | |
---|---|
类型 | 框架 |
网站 | angularjs.org |
知识库 | github.com/angular/angular.js |
当前版本 | 1.6.4 |
开发人员 | |
发布日期 | 2010年10月 |
大小 | 144KB |
用途 | 单页应用程序 |
使用度 | 低 |
Angular是框架(或MVC应用程序框架卡塔 尔(阿拉伯语:قطر类列表中的第二个。前段时间最盛行的Angular版本是1.x,它接收双向数据绑定扩大HTML,同期解耦了DOM操作和应用程序逻辑。
就算版本2(现在是本子4!卡塔尔国已经发表了,不过Angular 1.x仍在开拓中。
优点:
缺点:
Angular 2.x(现在是Angular 4.x)
Angular | |
---|---|
类型 | 框架 |
网站 | angular.io |
知识库 | github.com/angular/angular.js |
当前版本 | 4.1 |
开发人员 | |
发布日期 | 2016年9月 |
大小 | 最小450kb |
用途 | 单页面应用 |
使用度 | 低 |
Angular
2.0于二〇一四年五月发表。那是一个完全的重写,它引入了采用TypeScript成立的依据模块化组件的模型。Angular
4.0于二零一七年七月发表。
Angular 2.x与v1版本迥然分化,也不与其他版本宽容 -
或然谷歌应该给项目起贰个例外的名字!
优点:
缺点:
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功效的品种来说,仍是八个好选拔。
优点:
缺点:
React | |
---|---|
类型 | 框架 |
网站 | facebook.github.io/react/ |
知识库 | github.com/facebook/react |
当前版本 | 15.5.4 |
开发人员 | Facebook和贡献者 |
发布日期 | 2013年3月 |
大小 | 最小21kb |
用途 | 单页应用程序 |
使用度 | 低 |
React是四个用以营造顾客分界面的JavaScript类库,也是二零一八年最受关切的类库。它小心于Model-View-Controller(MVC卡塔尔开采的“View”部分,使用它能够轻易创设保留状态的UI组件。它是达成虚构DOM的首推类库之后生可畏,
它的内部存款和储蓄器结构能够有效地简政放权差距,页面更新也进一层可行。
计算显示React的使花销就像超低,因为它是在应用程序中行使并不是在网址。
优点:
缺点:
刺探更加的多关于React the ES6 Way
Vue.js | |
---|---|
类型 | 框架 |
网站 | vuejs.org |
知识库 | github.com/vuejs/vue |
当前版本 | 2.0 |
开发人员 | Evan You |
发布日期 | 2014年2月 |
大小 | 最小19kb |
用途 | 单页面应用 |
使用度 | 低 |
Vue.js是三个用于营造客商分界面包车型地铁轻量级渐进框架。它提供了三个周边React的伪造DOM驱动视图层,可以与此外类库集成,用于创设强盛的单页面应用。该框架是由事先在AngularJS职业过的EvanYou创立的,他领到了AngularJS中本人喜好的生机勃勃对。
Vue.js使用HTML模板语法将DOM绑定到实例数据。Model是在数额变动时更新view的纯JavaScript对象。
优点:
缺点:
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应用程序中选拔那四个类库。
优点:
缺点:
Backbone | |
---|---|
类型 | 框架 |
网站 | backbonejs.org |
知识库 | github.com/jashkenas/backbone/ |
当前版本 | 1.3.3 |
开发人员 | Jeremy Ashkenas |
发布日期 | 2010年10月 |
大小 | 最小8kb |
用途 | 单页面应用 |
使用度 | 低 |
Backbone.js是提供劳务器端框架海南中国广播集团大的MVC结构的最初顾客端选项之风度翩翩。它唯后生可畏的信赖是Underscore.js。
Backbone.js声称是二个类库,因为它能够与其他类型并入,不过本人觉着大好些个开辟人士都以为它是二个框架。
优点:
缺点:
Ember.js | |
---|---|
类型 | 框架 |
网站 | emberjs.com |
知识库 | github.com/emberjs/ember.js |
当前版本 | 2.15.0 |
开发人员 | Ember team |
发布日期 | 2011年12月 |
大小 | 最小95kb |
用途 | 单页面应用 |
使用度 | 低 |
Ember.js是依照Model-View-ViewModel(MVVM卡塔 尔(阿拉伯语:قطر格局的框架之朝气蓬勃。它在单个包中完结模板化、数据绑定和类库。
优点:
缺点:
AngularJS | |
类型 | 框架 |
网站 | angularjs.org |
知识库 | github.com/angular/angular.js |
当前版本 | 1.6.4 |
开发人员 | |
发布日期 | 2010年10月 |
大小 | 144KB |
用途 | 单页应用程序 |
使用度 | 低 |
Angular是框架(或MVC应用程序框架卡塔尔类列表中的第三个。这几天最流行的Angular版本是1.x,它应用双向数据绑定增加HTML,同期解耦了DOM操作和应用程序逻辑。
固然版本2(今后是本子4!卡塔 尔(英语:State of Qatar)已经发表了,但是Angular 1.x仍在付出中。
优点:
缺点:
Knockout | |
---|---|
类型 | 框架 |
网站 | knockoutjs.com |
知识库 | github.com/knockout/knockout |
当前版本 | 3.4.2 |
开发人员 | Steve Sanderson |
发布日期 | 2010年7月 |
大小 | 最小59kb |
用途 | 单页面应用 |
使用度 | 低 |
Knockout.js是最初的MVVM框架之风姿洒脱,它确认保证了UI与底层数据保持同步,具备模板和信赖性关系追踪。
优点:
缺点:
越来越多的框架和类库
以下项目纵然不是专程流行,但值得思谋:
Polymer -
能够跨浏览器支持HTML5网页组件的类库
Meteor -
叁个用来Web应用程序的全栈平台
Aurelia -
大器晚成种相对较新的,轻量级的跨平台框架
Svelte -
叁个将框架源代码转换为干净JavaScript的新品类
Conditioner.js -
一个根据状态自动加载和卸载模块的类库
工具:施行通用职分
创设筑工程具自动奉行各类Web开辟任务,比如预管理、编写翻译、优化图像、裁减代码、代码解析和周转测量检验等。职务能够在八个可举办李包裹中联合管理。
前段时间最受招待的工具如下:
Gulp.js | |
---|---|
类型 | 框架 |
网站 | gulpjs.com |
知识库 | github.com/gulpjs/gulp |
当前版本 | 3.9.1 |
每月下载 | 300万 |
虽说Gulp不是第三个义务实施工具,它却极快产生了最受款待的。Gulp使用轻易阅读的JavaScript代码,将源文件加载到流中,并在将数据输出到营造文件夹此前,通过各类插件管理数据。在别的其余选项早先检查Gulp.js是简约、快速和有意思的。
Angular | |
类型 | 框架 |
网站 | angular.io |
知识库 | github.com/angular/angular.js |
当前版本 | 4.1 |
开发人员 | |
发布日期 | 2016年9月 |
大小 | 最小450kb |
用途 | 单页面应用 |
使用度 | 低 |
Angular 2.0于二零一四年12月揭露。那是叁个风流浪漫体化的重写,它引进了使用TypeScript创制的基于模块化组件的模子。Angular 4.0于二〇一七年6月公布。
Angular 2.x与v1版本天渊之别,也不与此外版本兼容– 恐怕谷歌应该给品种起一个差异的名字!
优点:
缺点:
NPM | |
---|---|
类型 | 框架 |
网站 | npmjs.com |
知识库 | github.com/npm/npm |
当前版本 | 4.5.0 |
每月下载 | 300万 |
npm是Node.js包微处理机,但其脚本工具可用以运营通用职责。对于全部一点点依靠关系的简重要项目目来讲,那是八个很好的筛选。然则,更目不暇接的天职也许会变得不太适用。
React | |
类型 | 框架 |
网站 | facebook.github.io/react/ |
知识库 | github.com/facebook/react |
当前版本 | 15.5.4 |
开发人员 | Facebook和贡献者 |
发布日期 | 2013年3月 |
大小 | 21kb分钟 |
用途 | 单页应用程序 |
使用度 | 低 |
React是一个用来营造客商分界面包车型大巴JavaScript类库,也是二〇一八年最受关心的类库。它小心于Model-View-Controller(MVC卡塔 尔(阿拉伯语:قطر开垦的“View”部分,使用它能够轻便创立保留状态的UI组件。它是贯彻设想DOM的首要推荐类库之黄金年代, 它的内部存款和储蓄器结构能够使得地总计差别,页面更新也尤其有效。
总结展现React的使花费仿佛好低,因为它是在应用程序中利用实际不是在网址。
优点:
缺点:
打探越来越多关于React the ES6 Way
Grunt | |
---|---|
类型 | 框架 |
网站 | gruntjs.com |
知识库 | github.com/gruntjs/grunt |
当前版本 | 1.0.1 |
每月下载 | 200万 |
Grunt是第一群被普及使用的JavaScript职责实施工具之后生可畏,但其速度和纵横交错的JSON配置却招致了Gulp的起来。以后那几个难点早就收获了减轻,Grunt仍然为二个受应接的挑精拣肥。
工具:模块绑定
多个JavaScript文件的治本已经变为了大器晚成件繁杂的事体。暗中同意情况下,浏览器文件不会被编译,因而其依赖关系必得以适合的量的风流倜傥大器晚成进行加载或接二连三。就算有像ES6模块和CommonJS那样的选项,然而浏览器支持是轻松的,因而模块绑定变得非常根本。
WebPack | |
---|---|
网站 | webpack.js.org |
知识库 | github.com/webpack/webpack |
当前版本 | 2.5.1 |
每月下载 | 600万 |
Webpack扶助全体流行的模块选项,并已改为React开垦的代名词。即便Webpack声称是三个模块捆绑程序,不过曾经足以作为通用职分运转程序了。
Vue.js | |
类型 | 框架 |
网站 | vuejs.org |
知识库 | github.com/vuejs/vue |
当前版本 | 2.0 |
开发人员 | Evan You |
发布日期 | 2014年2月 |
大小 | 最小19kb |
用途 | 单页面应用 |
使用度 | 低 |
Vue.js是三个用以营造客商分界面包车型大巴轻量级渐进框架。它提供了贰个相通React的虚构DOM驱动视图层,能够与其余类库集成,用于打造强盛的单页面应用。该框架是由事先在AngularJS工作过的EvanYou创造的,他领取了AngularJS中和睦爱怜的片段。
Vue.js使用HTML模板语法将DOM绑定到实例数据。Model是在多少变动时更新view的纯JavaScript对象。
优点:
缺点:
Browserify | |
---|---|
网站 | browserify.org |
知识库 | github.com/substack/node-browserify |
当前版本 | 14.3.0 |
每月下载 | 260万 |
Browserify辅助Node.js正在选拔的CommonJS模块,它将全数模块编写翻译成单个浏览器宽容的公文。
Backbone.js | |
类型 | 框架 |
网站 | backbonejs.org |
知识库 | github.com/jashkenas/backbone/ |
当前版本 | 1.3.3 |
开发人员 | Jeremy Ashkenas |
发布日期 | 2010年10月 |
大小 | 最小8kb |
用途 | 单页面应用 |
使用度 | 低 |
Backbone.js是提供服务器端框架中常见的MVC结构的最先客商端选项之后生可畏。它唯黄金年代的信赖性是Underscore.js。
Backbone.js声称是三个类库,因为它能够与其余门类并入,不过笔者感觉大许多开辟人士都是为它是三个框架。
优点:
缺点:
RequireJS | |
---|---|
网站 | requirejs.org |
知识库 | github.com/jrburke/r.js |
当前版本 | 2.3.3 |
每月下载 | 百万 |
RequireJS是风流罗曼蒂克种浏览器中的模块加载器,它也得以在Node.js中动用。
工具:代码深入分析
代码解析工具用于深入分析代码中潜在错误或离开语法的职业。叁个未闭合括号或未注明的变量一定会被检查实验出。
ESLint | |
---|---|
网站 | eslint.org |
知识库 | github.com/eslint/eslint |
当前版本 | 3.19.0 |
每月下载 | 600万 |
ESLint是后生可畏种可插拔的代码解析工具。各样法规都是三个插件,因而得以依赖个体喜欢实行配备。
Ember.js | |
类型 | 框架 |
网站 | emberjs.com |
知识库 | github.com/emberjs/ember.js |
当前版本 | 2.15.0 |
开发人员 | Ember team |
发布日期 | 2011年12月 |
大小 | 最小95kb |
用途 | 单页面应用 |
使用度 | 低 |
Ember.js是基于Model-View-ViewModel(MVVM卡塔尔形式的框架之黄金年代。它在单个包中完毕模板化、数据绑定和类库。
优点:
缺点:
JSHint | |
---|---|
网站 | jshint.com |
知识库 | github.com/jshint/jshint |
当前版本 | 2.9.4 |
每月下载 | 200万 |
JSHint是二个易如反掌的JavaScript代码剖判工具,它很好的平衡了确实的错误和老旧的语法。
Knockout.js | |
类型 | 框架 |
网站 | knockoutjs.com |
知识库 | github.com/knockout/knockout |
当前版本 | 3.4.2 |
开发人员 | Steve Sanderson |
发布日期 | 2010年7月 |
大小 | 最小59kb |
用途 | 单页面应用 |
使用度 | 低 |
Knockout.js是最先的MVVM框架之风流浪漫,它确定保障了UI与底层数据保持同步,具备模板和依据关系追踪。
优点:
缺点:
JSLint | |
---|---|
网站 | jslint.com |
知识库 | github.com/reid/node-jslint |
当前版本 | 0.10.3 |
每月下载 | 50000 |
JSLint是最初的代码解析工具之黄金年代,它完成了黄金时代套严苛的私下认可法则。
工具:单元测量试验
测量试验驱动开垦的天职必要需求编写制定代码来测量检验自身的代码。近日有为数不少接纳,包罗Ava,
Tape
和Jest
,但如今最流行的八个工具是:
以下体系即便不是专程流行,但值得思谋:
Mocha | |
---|---|
网站 | mochajs.org |
知识库 | github.com/mochajs/mocha |
当前版本 | 3.3.0 |
每月下载 | 500万 |
Mocha是一个JavaScript测验框架,能够在Node.js或浏览器中运转测验。它扶助异步测量检验,而且日常与Chai卓越使用,那样能够使测量试验代码以可读取的情势发挥。
构建筑工程具自动实践各样Web开拓职务,举例预管理、编写翻译、优化图像、降低代码、代码深入分析和周转测验等。职务能够在贰个可进行李包裹中联合管理。
当下最受应接的工具如下:
Jasmine | |
---|---|
网站 | jasmine.github.io |
知识库 | github.com/jasmine/jasmine-npm |
当前版本 | 2.6.0 |
每月下载 | 200万 |
Jasmine是多少人展馆现使得的测量试验工具,能够在浏览器中自动测量试验UI和互相。
Gulp.js | |
网站 | gulpjs.com |
知识库 | github.com/gulpjs/gulp |
当前版本 | 3.9.1 |
每月下载 | 300万 |
虽说Gulp不是第一个任务执行工具,它却连忙产生了最受款待的。Gulp使用轻松阅读的JavaScript代码,将源文件加载到流中,并在将数据输出到营造文件夹从前,通过种种插件管理数据。在别的其余选项在此以前检查Gulp.js是简约、急迅和有趣的。
QUnit | |
---|---|
网站 | https://qunitjs.com/ |
知识库 | github.com/kof/node-qunit |
当前版本 | 1.0.0 |
每月下载 | 25000 |
QUnit是几个单元测验框架,能够在输入特定参数时,检查函数结果。它还反映测验结果,确定保障没有失去特定的代码分支。
小结与建议
如今特别流程的框架是React,同一时间其余的框架也在向着流行的样子发展。
假若须求二个康宁的、通用的Web应用程序,能够构思选用Vue.js。
全体框架已经不复受应接了,假诺您要求对贰个相当的大型项目进行严加的结构管理,AngularJS是二个不利的选用。近年来大多数人坚称选拔Angular
1.0版本,可是长时间来说,假设您愿意上学TypeScript,Angular
4.x版本是个更加好的选项。
jQuery虽说今后并不丰硕盛行,在本事情报中也超少会被提到,但不可不可以认它是风雨无阻付出的,同期也是网址和应用程序的强有力工具。jQuery具备中和的求学曲线,全世界相当多开采职员能够很好地知道。
倘让你想要冒险,能够施行Svelte那是叁个神乎其神的顾客端/服务器框架,它能够在创设时优先突显JavaScript,並且能够改变大家付出的点子。
工具的抉择因项目而异。即便近年来接收Gulp的开采者占大比比较多,但WebPack却特别受接待。同偶尔候您也不可能错失ESLint和Mocha等测验工具。
过去的十年,JavaScript经历了探求性的升高。过去只有为数相当少中央的类库能够筛选,不过今后可供接纳的类库已经雨后春笋。大概不能够明确哪些类库、框架和工具是最棒的,可是最相符本身项目标,正是最棒的。
假定本文错失了你最爱怜的JavaScript类库,框架或工具?接待在文末切磋。
初稿链接:https://www.sitepoint.com/top-javascript-frameworks-libraries-tools-use/
转发来源于:葡萄干城控件
NPM | |
网站 | npmjs.com |
知识库 | github.com/npm/npm |
当前版本 | 4.5.0 |
每月下载 | 300万 |
npm是Node.js包微处理器,但其脚本工具可用于运作通用任务。对于具备一丢丢依赖关系的简短项目以来,那是三个很好的选项。然则,更复杂的职务恐怕会变得不太适用。
Grunt | |
网站 | gruntjs.com |
知识库 | github.com/gruntjs/grunt |
当前版本 | 1.0.1 |
每月下载 | 200万 |
Grunt是第一群被遍布使用的JavaScript任务施行工具之意气风发,但其速度和复杂的JSON配置却引致了Gulp的起来。以后那一个标题早就收获了减轻,Grunt仍为三个受应接的筛选。
多少个JavaScript文件的田间管理已经产生了意气风发件繁缛的事体。暗许情状下,浏览器文件不会被编写翻译,由此其依赖关系必得以相符的逐黄金时代举办加载或三番两次。即使有像ES6模块和CommonJS那样的选项,但是浏览器协助是少数的,因而模块绑定变得不行根本。
WebPack | |
网站 | webpack.js.org |
知识库 | github.com/webpack/webpack |
当前版本 | 2.5.1 |
每月下载 | 600万 |
Webpack扶植全体流行的模块选项,并已改为React开拓的代名词。就算Webpack声称是二个模块捆绑程序,可是曾经足以当作通用职分运路程序了。
Browserify | |
网站 | browserify.org |
知识库 | github.com/substack/node-browserify |
当前版本 | 14.3.0 |
每月下载 | 260万 |
Browserify援救Node.js正在利用的CommonJS模块,它将有着模块编写翻译成单个浏览器包容的公文。
RequireJS | |
网站 | requirejs.org |
知识库 | github.com/jrburke/r.js |
当前版本 | 2.3.3 |
每月下载 | 百万 |
RequireJS是豆蔻梢头种浏览器中的模块加载器,它也能够在Node.js中接收。
代码解析工具用于深入分析代码中潜在错误或离开语法的正规化。八个未闭合括号或未注解的变量一定会被检查实验出。
ESLint | |
网站 | eslint.org |
知识库 | github.com/eslint/eslint |
当前版本 | 3.19.0 |
每月下载 | 600万 |
ESLint是豆蔻年华种可插拔的代码剖判工具。种种法规都以贰个插件,因而能够依照个体爱好进行安排。
JSHint | |
网站 | jshint.com |
知识库 | github.com/jshint/jshint |
当前版本 | 2.9.4 |
每月下载 | 200万 |
JSHint是二个游刃有余的JavaScript代码剖析工具,它很好的平衡了确实的错误和老旧的语法。
JSLint | |
网站 | jslint.com |
知识库 | github.com/reid/node-jslint |
当前版本 | 0.10.3 |
每月下载 | 50000 |
JSLint是最初的代码深入分析工具之生机勃勃,它完结了意气风发套严刻的私下认可法则。
测量检验驱动开拓的职分供给供给编写制定代码来测量试验自个儿的代码。目前有成都百货上千抉择,包蕴Ava, Tape 和Jest ,但眼前最风靡的四个工具是:
Mocha | |
网站 | mochajs.org |
知识库 | github.com/mochajs/mocha |
当前版本 | 3.3.0 |
每月下载 | 500万 |
Mocha是多个JavaScript测验框架,能够在Node.js或浏览器中运营测验。它协理异步测验,并且反复与Chai同盟使用,那样能够使测量试验代码以可读取的办法表达。
Jasmine | |
网站 | jasmine.github.io |
知识库 | github.com/jasmine/jasmine-npm |
当前版本 | 2.6.0 |
每月下载 | 200万 |
Jasmine是四个人展览现使得的测量检验工具,能够在浏览器中自行测量检验UI和相互。
QUnit | |
网站 | https://qunitjs.com/ |
知识库 | github.com/kof/node-qunit |
当前版本 | 1.0.0 |
每月下载 | 25000 |
QUnit是多个单元测量试验框架,可以在输入特定参数时,检查函数结果。它还举报测量试验结果,确定保证未有失去特定的代码分支。
日前可是流程的框架是React,相同的时间其余的框架也在向着流行的势头发展。
若果急需一个安然照旧的、通用的Web应用程序,能够设想采纳Vue.js。
总体框架已经不再受接待了,假使您供给对八个相当的大型项目展开严厉的结构管理,AngularJS是叁个科学的接纳。近年来大多数人坚称利用Angular 1.0本子,不过长时间来说,假若你愿意学习TypeScript,Angular 4.x版本是个越来越好的取舍。
jQuery就算未来并不十一分风行,在本事情报中也非常少会被波及,但不可以还是不可以认它是积极付出的,同一时候也是网址和应用程序的无敌区工作具。jQuery具备大壮的读书曲线,全世界多数开荒职员能够很好地理解。
即便您想要冒险,能够试试Svelte那是二个有趣的顾客端/服务器框架,它能够在营造时事先显示JavaScript,并且能够变动我们开拓的点子。
工具的精选因项目而异。纵然近年来应用Gulp的开辟者占大多数,但WebPack却更为受款待。同有时候你也无法错失ESLint和Mocha等测量检验工具。
千古的十年,JavaScript涉世了开发性的发展。过去独有为数相当的少骨干的类库能够筛选,可是未来可供接收的类库已经密密层层。只怕不可能鲜明哪些类库、框架和工具是最佳的,可是最适合本人项指标,正是最棒的。
假诺本文错失了你最赏识的JavaScript类库,框架或工具?招待在文末议论。
2 赞 5 收藏 评论
本文由星彩网app下载发布于前端技术,转载请注明出处:2017年前端框架,工具大比拼