来自 软件资讯 2019-09-19 08:22 的文章
当前位置: 威尼斯国际官方网站 > 软件资讯 > 正文

库和工具,工具及其使用时机

一级的 JavaScript 前端框架、库和工具

2015/12/22 · JavaScript · 1 评论 · 工具, 库, 框架

本文由 伯乐在线 - cucr 翻译,Heiye 校稿。未经许可,禁止转载!
乌克兰语出处:Rami Sayar。招待出席翻译组。

看似大约每隔八日就有壹个新的 JavaScript 库在网络社区引起沙暴!网络社区进一步充满活力,各种化且在八个方面神速前进。调查每二个主流的 JavaScript 框架和库是不恐怕产生的壮举。因而,我将享用部分前端开荒中最显赫和最有影响力的框架和库。让我们看看最好的 JavaScript web 前端框架,库和工具以及几时使用它们。

另外:

  • 若是小编从未富含你最疼爱的 JavaScript 框架,请不要上火。
  • 世代铭记持续更新您的框架和库。最新版本的框架和库经常具备最棒的跨浏览器和跨设备的支撑。你能够选择工具, 比如scanner 来协助判定贰个旧版本是否相称这一大批判设备。

好了,让我们进来列表!

  那篇文章主要陈诉到现在流行的一部分 Javascript web 前端框架,库以及它们的适用场景。

AngularJS

Angular 是风靡的小卖部级框架,非常多开垦职员都在运用它来创设和爱护复杂的 web 应用程序。Angular 的人气十三分高,富含 Domino’s Pizza, Ryanair, iTunes Connect, PayPal Checkout, Google等厂商都在动用它。Angular 是二个由Google扶助的开源框架。Angular 自称是 HTML 的多少个扩充,用来构建复杂的 web 应用程序。别的就算您熟习 TypeScript, Angular 2便是用它营造的。

  新的 Javascript 库不以为奇,进而Web 社区愈发活跃、八种、在多地方飞快前进。详细去陈述每一项主流的 Javascript 框架和库近乎非常的小概,所以在那篇小说中驷不如舌介绍部分对前边贰个发展最具影响力的前端框架。接下来让我们来共同研商一些主流前端框架、库和工具,并探讨它们的适 用场景。

其一作者的越来越多作品

  • 创设一个基于 Node.js 的聊天室 Web App:远程调节和测量试验
  • 营造贰个依据 Node.js 的聊天室 Web App:通过 WebSockets 连接

Angular 是三个 MVC 类型的框架。它提供了模型和视图之间的双向数据绑定。该数额绑定允许每当数据变动时,两侧自动更新。  它令你可知创设可复用的视图组件。它提供了三个服务框架,使得后端-前端服务通信更易于。最终,它只是平常的 JavaScript。

曾几何时使用 AngularJS?当您正在营造三个千头万绪的 web 前端应用程序,同有的时候候要求一个模块化的框架来管理任什么时候。

GitHub: 
当前版本: 1.4.7/1.2.29
网址: angularjs.org

  同时:

React

React 是今年最受接待的 JavaScript 项目!每种人都就如在座谈 ReactJS。二零一八年自家加入的每叁个集会,至少有点个议题是关于 React 和同家族的其他库(Flux, Redux)的。React 是开源软件,主要由 Instagram开荒,别的大型科学和技术集团也许有进献。React 自称是八个用于营造客户分界面的JavaScript 库。

React 重假诺 MVC 中的 V。它的尤为重要完全在 MVC 的 V 部分,忽视应用程序框架结构的别的部分。它提供了贰个组件层,使得创制 UI 成分,组合成分变得更易于。它采取设想 DOM,由此优化了渲染,且允许从 node.js 渲染 React。另外,它实现了一边响应的数据流,由此比其余框架更便于掌握和选用。

用作 MVC 中的 V,非常多门类将 React 结合 Angular 或 Ember 那样的框架使用。

曾几何时使用 React?当您想要一个强有力的视图层,但没有须求在应用程序的其他部分使用四个头眼昏花的框架,也许您在 Angular、Backbone 或 Ember 应用上急需三个视图层时。当你正试图建设构造八个同构 web 框架时。

 

GitHub: 
这两天版本: v0.14.0
网址: Facebook.github.io/react/

  如若该篇文章未有包括你喜欢的 Javascript 框架,勿喷

Backbone

Backbone 是多个老牌的回顾框架,适合单个 JavaScript 文件。Backbone 已经存在有一段时间了,是以 CoffeeScript 和 Underscore 盛名的 JeremyAshkenas 所付出的。对于一些为Mini web 应用搜索贰个构造轻巧的框架,而不想引进如 Angular 或 Ember 那几个大型框架的团伙,Backbone 极度受招待。

Backbone 提供叁个一体化的 MVC 框架以及路由。模型允许键-值绑定和数量变化的事件处理。模型(和聚合)能够连绵不断到RESTful API。视图具备注解式事件管理,路由在拍卖 UKoleosL 和状态管理上做的很特出。它包含你成立二个单页面应用程序所必要的凡事,且尚未提供太多东西,未有不须求的复杂度。

什么日期使用 Backbone?Backbone 是自家创造轻易 web 应用程序的首要推荐框架。

GitHub: 

此时此刻版本: 1.2.3
网站: backbonejs.org

  在选择前端框架举行支付时,建议维持版本更新。最新版本的形似都会提要求更加好的跨浏览器,跨平台效应。 需检验有个别框架的旧版本是或不是对各样浏览器以及配备的合营,请使用 类似这一个扫描器 的工具

Ember

Ember 是四个僵硬的 web 应用程序框架,关怀程序猿的工效。Ember 相比盛行,它的骨干团队包罗像曾是 Ruby on Rails 和 jQuery 宗旨团队成员的 Yehuda Katz 的智囊。Ember 自称是“贰个用以创建大面积 web 应用程序的框架”,且不浪费你的小运。它很执着,为您提供了成都百货上千挑选。

Ember 也是三个 MVC 框架。它归纳三个模板和视图引擎,当数码变化时自动更新,就好像Angular,Backbone 和 React 一样。它含有 web组件 的想想,令你利用本人标签增加 HTML(就好像Angular 同样)。它也许有三个领会怎么着与你的 RESTful API 一同专门的工作的路由和模型引擎。

曾几何时使用 Ember?当你只必要三个得以运作的框架时。当您因为预算紧张或工期非常短而无需灵活性时,请使用 Ember。

GitHub: 
现阶段版本: 2.1.0
网站: emberjs.com

  计划好了吧,那么接下去每种研究它们。

jQuery

jQuery 是一个不要介绍的库。它凭自身个人的力量让跨浏览器网址选拔成为实际,同期把 web 带到前几天的职位。Web 规范已经被好些个浏览器创造商选取并真正地重申,jQuery 是里面包车型大巴原故之一。jQuery 基金会的重任是“通过开源软件的支出和支撑,以及开拓社区的通力协作,改良开放的 web,让每一人都足以访谈它。”

jQuery 是世界上最常用的 JavaScript 库,全部应用程序都应该采用它,除非您不在意程序员的工效。它使得 DOM 遍历、事件管理、动画、AJAX 在具有浏览器上变得更简便易行、更易于。

哪一天使用 jQuery?一向采用,除非您想选择多少个像 Zepto 的轻量级版本。

GitHub: 
时下版本: v1.11.3 or v2.1.4
网站: jquery.com

  AngularJS

Underscore &lodash

不经常 JavaScript 内置的效果变成程序猿的效用并不高。总是贫乏三个工具函数或三个足以简化代码的函数。Underscore(和 lodash)是二个 JavaScript 库,它提供了一条龙工具函数,无需对停放 JavaScript 对象打补丁。四个库均提供超过 100 个职能助手和任何专项使用功用,包蕴 map,filter,invoke,reduce,template, throttle, bind, extend, pick, clone 等越来越多的函数。

哪天使用 Underscore?当您必要三个独门的 JavaScript 文件,来立时升高程序猿的工效时。

Underscore GitHub: 
Underscore 当前版本: 1.8.3
Underscore 网站: underscorejs.org

几时使用 lodash?当你须要模块化和品质稍强版本的 Underscore,同期更便于地援助 Intel 和社区插件时。

LodashGitHub: 

Lodash 当前版本: v3.10.1

Lodash 网站: lodash.com

  Angular 是一款流行的信用合作社级 框架,相当多程序猿都用它来构建和护卫复杂的网页应用。Angular 具备有影响的人气,使用它的营业所跟 Domino 的 Pizza 连串雷同多,如 Ryanair, iTunes Connect, PayPal Checkout, Google。Angular 是一个由 谷歌扶助的开源框架。Angular 称自个儿为营造复杂网页应用而对 HTML 的扩大。若是你也对 TypeScript 很熟谙,那么能够看看 如何写 Angular 2 .

D3.js

数量可视化和图片是一种常见的 web 应用程序需要。D3.js 是别的数据操作和可视化的事实规范。它是 GitHub上最受款待的档期的顺序之一,被巨大的组织使用。大批量的图形,图表和可视化库在 D3 上营造。

D3 允许你操作任何来自的数目文书档案,转变来 DOM 或/和 SVG 或/和 CSS。D3 关心今世 web 规范,确定保证您不受任何专有格式的牢笼,譬如 Flash 和 Silverlight。

曾几何时使用 D3.js?在您须要别的情势的可视化的时候。

GitHub: 
近年来版本: 3.5.6
网站: d3js.org

  Angular 选拔 MVC 架构。它提供了 Model 层和 View 层之间双重数据绑定。这种数量绑定方式的实惠是不管怎样数据变动,都会自行的革新两侧的数据。那有利于你构建可服用的 View 组件。它还提供了贰个光景端服务易于交互的劳务框架。最要紧的是,它是简轻巧单的 JavaScript。

Babylon.js

想要营造完全符合今世 web 标准且跨浏览器的录制游戏吗?看看 Babylon.js,它是依靠 WebGL 和 JavaScript 的 3d 游戏引擎。你能够成立令人狐疑的隐含物理、音频和粒子系统等等的高水平游戏。

何时使用 Babylon.js?不论何时,只要您想做贰个摄像游戏或别的类型的目迷五色三个维度场景,都能用上。

GitHub: 
当下版本: 2.2
网站: babylonjs.com

  哪一天使用 AngularJS? 当你营造八个参差不齐的网页前端选拔并须要三个独门的模块框架去管理整个时。

Three.js

想要创设三个 3D 可视化场景,但不供给贰个完整的嬉戏引擎?three.js 提供了四个轻量级的 3d 库,允许渲染 3d 为 HTML5 画布、SVG 和 WebGL。它是一对一简单的库,在 three.js 的来得里有数百个美貌的例子。

几时使用Three.js?当您要求八个能出口为 Canvas 的简短的 3D 可视化场景时。

GitHub: 
当前版本: r73
网站: threejs.org

  GitHub:

Mocha& Chai

JavaScript 在不短一段时间内是特别讨厌的。测量试验任何代码常常都被以为是讨厌的,但它却是每种开荒人士都应当做的政工。每一种开荒职员如同总是不屑一顾和忽略它,而不测量检验他们的代码。那么些该死的东西有多个化解办法,那正是Mocha 和 Chai。七个库的名字都源于美味的热饮品,它们都能帮您测量检验代码,但方法各异。 

Mocha 是多少个 JavaScript 测量试验框架,使得你在 node 模块和浏览器 app 中测量检验异步代码变得更便于。Mocha 测量试验能够串联运维,可以为准确的测验用例增加特别追踪的力量。

Chai 是三个作为使得开荒/测量试验驱动开垦的断言库,能够搭配 Mocha 使用。它能够把您须求测量检验的东西用可读的风格轻巧地表达出来。

哪天使用 Mocha & Chai?老是!请测验你的代码,让世界变得更加美观好。

Mocha 当前版本: 2.3.3
Mocha 网址: mochajs.org
Chai GitHub: 
Chai 当前版本: v3.4.1
Chai 网址: chaijs.com

  Current Version:1.4.7/1.2.29

Karma

既然如此已经把 Mocha 和 Chai 富含在那些列表中了,假设不带有用来运维这个测量检验或安装持续集成测量检验的测量试验运维器,那将是不完全的。Karma 是一款目的在于救助您在不一样的浏览器上电动运行测验的工具。它能够辅助您在颇具浏览器上运转Mocha 和 Chai 测量检验。

不是每个浏览器都运作在具有平台,但幸运的是能够使用部分无偿工具来测验别的浏览器,看看 Browser Screenshots。即便你正在 OS X 上运维代码,想测量检验 艾德ge 或 IE,能够 免费 使用这么些工具。

曾几何时使用 Karma?当你的应用程序有三个周全的测验套件,并期望确认保证测量试验在具备浏览器上通过时。

GitHub: 
当下版本: v0.13
网址: karma-runner.github.io

  Website: angularjs.org

PhantomJS

运作全部的浏览器来测验你的代码相比耗内存和 CPU。PhantomJS 允许你运转三个轻量的 WebKit —— Safari 和Chrome(现在是 Blink)后台的渲染引擎。它同意你通过 JavaScript API 运维测量检验,捕捉截图,监察和控制网络和机动浏览页面。

曾几何时使用 PhantomJS ?当您要求开展更加的多的测验,操作页面和监视网络哀告时。

GitHub: 
当下版本: v2.0
网址: phantomjs.org

  二:React 是15年最受迎接的 JavaScript 项目!大概人人都在座谈 ReactJS。二零一八年,小编参加的每三个会差了一些都会有一八个话题商讨 React 和同等体系下的其他库( Flux , Redux ) 。React 是二个开源项目,差不离是由 Fackbook 和别的首要的手艺公司进献开采的。React 称自身为为塑造顾客接口而提供的 JavaScript 库。

Grunt & Gulp

为生育条件创设网址,平常涉及到抓好品质的职务,比如 JavaScript 和 CSS 的压缩, CoffeeScript/TypeScript 的编写翻译,单元测量检验,语法检查。也许你早就有八个为网址发表到生育意况的工具链,如果未有,你能够运用任务运维器,举个例子Grunt 或Gulp。两个都有大气有关网址的别的转换的插件,为揭发到生育景况做好希图。

几时使用 Grunt?当您爱怜写配置文件同期不介意你的天职运维器生成中间文件时。

Grunt GitHub: 
Grunt 当前版本: v0.4.5
Grunt 网址: gruntjs.com

几时使用 Gulp?当您心爱在陈设上写代码和动用 node.js 的流成效来加速职责施行时。

Gulp GitHub: 
居尔p 当前版本: v3.9.0
Gulp 网址: gulpjs.com

  React 基本上用来作为 MVC 中的 V。它完全专一于 MVC 中的 V 部分,而忽视了动用中的别的一些架构。它提供了二个组件层,那让大家易于制作UI成分并将这么些UI成分组合在一同。它抽象出了DOM,由此而优化了渲染, 并允许你选拔 node.js 渲染 React。另外,它完结了单向数据交互流,那使它比别的的框架更易于掌握和选择。

Babel

JavaScript 语言正在快速发展。ECMAScript二零一五于二零一八年夏季公布,它的数不完新天性在最新的浏览器上贯彻了。如若您想看看 ECMAScript 二零一四 的包容性,你能够看看来自 @kangax 的那些 表。你会小心到,最新版本的 Edge,Firefox 和 Chrome 已经差不离统统相配了。

我们实际不是生存在多个完美的社会风气。作为开荒人士,大家要求持续支持旧的浏览器,它们并未有最新最棒的 JavaScript 天性。大家要推动 web 和创新大家的代码库。Babel 是一个JavaScript 编译器,用于把最新的 JavaScript 规范编写翻译成可在 IE9 等老浏览器上运维的兼容ES5的 JavaScript。它有部分插件,使得 React 开垦更易于,以致能够运用部分不属于该职业的性状(举例ES7)。

哪天使用 Babel?当你想利用新的 JavaScript 语言特色,同有的时候常间还要支撑老版本浏览器时。

GitHub: 
此时此刻版本: 6.1.2
网址: babeljs.io

  多少个类型比方 Angular ,Ember 绑定使用 React 成为 MVC 中的 V。

越来越多 Web 开辟实施

正文来源微软本事布道师 Web 开拓种类,里面有实用的 JavaScript 学习,开源项目和互操作性的极品实施(饱含与 微软Edge 浏览器和新的 EdgeHTML渲染引擎)。

笔者们鼓劲你跨浏览器和配备开展测量检验,包含微软的艾德ge——Windows 10的默许浏览器——在 dev.modern.IE 上有无需付费工具:

  • 扫描你的网址中过时的库,布局难题和可访谈性
  • 下载 Mac, Linux 和 Windows 下的免费虚构机
  • 跨浏览器检查 Web 平台状态,包罗微软 艾德ge 的路径图
  • 在您的配备上远程测验微软 Edge

来自我们技术员和布道者的更浓密学习:

  • GitHub 上的编码实验室: 跨浏览器测量试验和特等执行
  • 2015 微软 Edge Web 峰会 (来自己们的程序猿团队和JS社区)
  • 很棒,笔者能够在 Mac 和 Linux 上测量试验 Edge 和 IE 了! (来自Rey Bango)
  • 推动 JavaScript 同临时常间不破坏 Web (来自Christian Heilmann)
  • Edge 渲染引擎让 Web 工作 (来自Jacob Rossi)
  • 基于 WebGL 的 3D 渲染 (来自David Catuhe)
  • 托管 web app 和 web 平台的改革机制 (来自Kevin Hill和Kiril Seksenov)

咱俩的社区开源项目:

  • vorlon.JS (跨设备远程 JavaScript 测量试验)
  • manifoldJS (布置跨平台托管 web app)
  • babylonJS (让 3D 图形制作更简约)

越来越多无偿工具和后端web开发内容:

  • Linux, MacOS 和 Windows 下的 Visual Studio Code
  • 使用 node.JS 编码并在 Azure 上免费试用

    2 赞 26 收藏 1 评论

  什么日期使用 React?当您想要有二个强有力的 View 层,而利用中的别的一些缺没有要求一个错综相连的框架时,或当您想要三个 View 层和您的 Angular, Backbone,或许Ember应用一同行使。当你试着塑造一个同构的网页框架。

关于小编:cucr

图片 1

今日头条天涯论坛:@hop_ping 个人主页 · 小编的稿子 · 17

图片 2

  GitHub:

  目前版本:v0.14.0

  网址: Facebook.github.io/react/

  Backbone

  Backbone 是 一个成名的简要的框架,全数剧情都得以松手三个纯粹的文本里。Backbone 已经流行了一段时间,其小编是 杰里米 Ashkenas,曾经由于开荒了 CoffeeScript 和 Underscore 而为大家所知。Backbone 特别适用于需求支付的 web 程序一点都不大的那么些协会,他们盼望能选拔小巧的框架,并非像 Angular 恐怕Ember 那样的特大型框架。

  Backbone 提供了专职能的 MVC 框架和路由。它的 Model 能够兑现 key-value 绑定和数目更新的事件管理。Model(及 Collection)能够与 RESTful 的 API 协同专门的学问。View 能够注脚事件管理,Router 在 U福睿斯L 管理和意况管理方面做的很好。对于开垦叁个单页面应用,全部需求的功力都得以帮衬,无需额外引进不要求的目不暇接。

  哪天使用 Backbone?对于迷你的 web 程序,Backbone 是本身必选的框架。

  GitHub:

  当前版本:1.2.3

  官网: backbonejs.org

  Ember 作为四个 web应用框架,极度小心于技师的功用上。Ember 相对比较流行,大旨团队有数不清很聪明智慧的成员,包罗 Yehuda Katz,他是 Ruby on Rails 和 jQuery 的中坚团队的分子。Ember 对和睦的永世是“贰个用来创立震动的 web 应用的框架”,它也真正不会浪费你的时辰。它在那地点十分上心,为你提供大多的选料。

  Ember 一样也是三个 MVC 的框架。它包涵三个模板和视图引擎,在多少更新时可以自动更新,那上头与Angular, Backbone, 和 React 类似。它还应该有叁个 web 组件 的概念,允许你用本身的竹签增加HTML,(如Angular)。它还应该有贰个路由及 model 引擎,能够与 RESTful API 一齐坐班的很好。

  何时使用 Ember?适用于你供给二个框架立刻就会选择。对灵活性需求不高的时候能够挑选 Ember,因为你平凡是预算紧张只怕工期恐慌。

  GitHub:

  当前版本:2.1.0

  官网: emberjs.com

  JQuery 这些库就绝非常少做牵线了。它独自承担了让跨浏览器网址成为现实的职务,是它使得所有web 成为明天这一个样子。Web 标准的制定以及浏览器厂家对规范的收受地方,jQuery 功不可没。jQuery 基金会的靶子是"通过开源软件的成本和支撑,以及社区的合作,拉长开放的网络,让各类人都能访谈"

  JQuery 是世界上运用最广的 JavaScript 库,未有采纳能够离开它,除非你对开垦效用不感兴趣。它使得 DOM 遍历、事件管理、动画和 AJAX 在富有浏览器上都变得如此的简便易用。

  哪天使用 jQuery?任曾几何时候,除非您筹算选拔更轻量级的版本,比方 Zepto 。

  GitHub:

  当前版本:v1.11.3 或 v2.1.4

  官方网站: jquery.com

  Underscore 和 lodash

  偶然内置的 JavaScript 对于让技士真正的有生产力还相当不足。总是会缺了一个工具函数,又恐怕是二个能简化代码的函数。Underscore (还应该有 lodash) 就是那般的三个 JavaScript 库,它提供了一站式工具函数,无需经验不足的工程师再去给停放的 JavaScript 对象打补丁。三个库都提供了超过 100 个支持函数,还应该有另外特其他好东西;包含了像 map, filter, invoke, reduce, template, throttle, bind, extend, pick, clone 等等这个函数。

  哪天使用 Underscore?当您想要具有二个马上能抓实程序猿成效的 JavaScript 文件时。

  Underscore GitHub :

  Underscore 当前版本:1.8.3

  Underscore 网站: underscorejs.org

  几时使用 lodash?当你想要一个模块化的,质量更非凡一点的,并附带有对于 AMD和社区插件帮衬的 Underscore 版本时。

  Lodash GitHub:

  Lodash 当前的本子:v3.10.1

  Lodash 网站: lodash.com

  D3.js

  数据可视化和图片是web应用程序的一种健康要求。当提到到另外数据操作和可视化时,D3.js 就是实际上的正统。它是 GitHub 上最受招待的类型之一,并被数百个团队机关所运用。大量的图形、图标和可视化库都以构件于 D3 之上的。

  D3 让您能够操作任何来源的数据文书档案,并将数据开展转变后接纳到 DOM、SVG 和 CSS上。D3 潜心于当代的 web 规范,以及确定保障您能够不面前遇到任何像 Flash 可能 Silverlight 那样的专有格式的限制。

  哪一天使用 D3.js?当您必要别的项目标视觉效果的时候。

  GitHub:

  当前版本:3.5.6

  网站: d3js.org

   Babylon.js

  想要营造一个截然运营于今世浏览器上,并且能跨浏览器运转的录像游戏吗?那就看看 Babylon.js 吧,它是贰个 3D 游戏引擎,基于 WebGL 和 JavaScript。你可以运用其大意、音频和粒子系统创设出当先预期的高水平游戏来。

  哪一天利用 Babylon.js?当你正在构建一个录制游戏大概多个某类别型的 3D 场景时。

  GitHub:

  当前版本: 2.2

  网站: babylonjs.com

  Three.js

  想要构建五个 3D 视觉特效,然则又不供给贰个功力完全的游乐?Three.js 提供了多少个轻量级的 3D 库,让您可以将 3D 效果渲染成三个 HTML5 的 canvas, SVG, 和 WebGL。那是三个详单简单的库,在 three.js 陈列站点上能够看来数百个美丽的身体力行。

  几时利用 Three.js?当您需求三个简短的能出口为 Canvas 的 3D 视觉效果时。

本文由威尼斯国际官方网站发布于软件资讯,转载请注明出处:库和工具,工具及其使用时机

关键词: