澳门新葡萄京官网注册 1

澳门新葡萄京官网注册2016 年 JavaScript 技术栈展望

假如您正在张罗新的前端项目可能重构现存项目,那么你须要意识到前段时间的前端开辟景况已经今是昨非,那在那之中有太多的挑精拣肥了:React、Flux、Angular、Aurelia、Mocha、Jasmine、Babel、TypeScript、Flow……
它们的本意是将付出轻便化,却无意识加强了学习花费,也给未来项目标保卫安全带给了不明朗。

原稿地址:[https://medium.com/javascript-and-opinions/state-of-the-art-javascript-in-2016-ab67fc68eb0b#.vwneby4bj)
技能作品首发地址:http://pinggod.com/
应接关心今日头条@ping4god,交换技巧

辛亏这里一气象正在退热,成则为王败则为寇,杰出的类型慢慢沉淀下来,开辟方式也更是明晰。有个别开辟者正在尝试选取基于上述技术的框架实行开垦,也在鲜明水平上降低了深造费用。

假定你正在筹备新的前端项目或然重构现成项目,那么您须求意识到明天的前端开拓景况已经差异,那中间有太多的选项了:React、Flux、Angular、Aurelia、Mocha、Jasmine、Babel、TypeScript、Flow……
它们的原意是将支付简单化,却无形中加强了上学花费,也给将来项指标保险带给了不料定。

本文中首要介绍了部分自身在 web
应用开辟中所涉及和信赖的技术,在那之中有一部分工夫上存在争论,所以小编对此每一工夫都只做简单的介绍和解析。全体的那些思想都以基于本人个人的涉世和对社区的接触计算而来的,所以各位还请按需各取所用。

还好此一情景正在退热,成则为王败则为寇,优越的门类稳步沉淀下来,开荒格局也越加清晰。有个别开荒者正在尝试使用基于上述才能的框架进行付出,也在早晚水准上减小了上学习开支用。

澳门新葡萄京官网注册 1

正文中举足轻重介绍了一些自家在 web
应用开荒中所涉及和依赖的本领,个中有部分技巧上设有顶牛,所以自个儿对于每一技能都只做轻易的牵线和解析。全部的那几个理念都以依据自身个人的涉世和对社区的触发总计而来的,所以各位还请按需各取所用。

React

React 可谓风头正盛有时无两:

  • 组件化使应用程序更便于开垦和掩护
  • 读书曲线平缓,宗旨 API 简洁清晰,易于学习
  • JSX 语法别具一格,丰裕发挥了 JavaScript 的能量
  • 天然适配 Flux 和 Redux
  • 社区活泼且全部创新技术,进献了成都百货上千平安无事的开拓工具
  • 单向数据流比双向数据绑定的法门更符合复杂应用程序,品质越来越高
  • 扶持服务端渲染

尽管比起 Ember、Aurelia 和 Angular 这个功能丰裕的框架,React
不是全能手,但 React 的耗费条件越发健康。就当下来讲,使用 React
已经不是一个本事采取,而是贰个商业行为,它能提供更神速和更实用的临蓐力。

当您想付出活动应用时,因为早就学习了 React 语法,所以能够直接上手
React Native 开辟跨平台运用。

React

React 可谓风头正盛不平日无两:

  • 组件化使应用程序更易于开垦和保卫安全
  • 学学曲线平缓,宗旨 API 简洁清晰,易于学习
  • JSX 语法离经叛道,足够发挥了 JavaScript 的能量
  • 天分适配 Flux 和 Redux
  • 社区活泼且独具创新技能,贡献了不菲非凡的开垦工具
  • 单向数据流比双向数据绑定的不二等秘书诀更合乎复杂应用程序,品质更加高
  • 支撑服务端渲染

虽说比起 Ember、Aurelia 和 Angular 这一个作用丰盛的框架,React
不是全能手,但 React 的支出条件更加的完善。就现阶段来讲,使用 React
已经不是一个手艺选择,而是三个商业行为,它能提供更便捷和更管用的临盆力。

当你想付出移动选用时,因为早就学习了 React 语法,所以能够间接上手
React Native 开辟跨平台应用。

Redux

当今,大家已经怀有了开采视图层的力量,接下去,大家须要动用别的工具管理应用程序中的状态和生命周期,在这里间推荐的工具正是:Redux。

为了协作 React,推特 开荒了管理单向数据流的工具 Flux,尽管 Flux
基本上达成了对单项数据流的辅助,不过还要也带了别的题目,譬如如何保存处境、什么地点发起
Ajax 伏乞等等。

为精通决那几个主题材料,又衍生了一层层效仿 Flux
方式的框架:Fluxible、Reflux、Alt、Flummox、Lux、Nuclear、Fluxxor……

脚下以来被开荒社区司空眼惯扶持的一个贯彻正是 Redux。

在 Redux
中,大大多的组件都以纯函数式的零部件,也只有贰个集聚的积攒和财富中央。Redux
的实例方法担当整个数据的操作和掩护。相比较 Flux 来讲,Redux
的思绪特别鲜明。

更要紧的是,Redux 非常容命理术数习。Redux 的编辑者 Dan Abramov
是叁个美貌的民间兴办教师,他成立了一各类深入显出的 Redux
录制教程。通过察看那几个摄像,就能够成为三个 Redux
方面包车型地铁大家。笔者已经见识到二个零功底的 React
共青团和少先队在短暂几周内高速开采出了测量试验版产品,且代码特别稳健和成熟。

Redux 附近的生态系统和 Redux
自己相通健康。从奇妙的 devtool 到无敌的回忆化学工业具 reselect,Redux
开垦社区为开采者提供了到家的工具。

开拓者可能会本能地去品尝抽象出叁个 Redux
模板,这么做有广大利润,但请在认清供给的幼功上来封装模板,而不要盲指标去尝尝。

Redux

当今,大家已经怀有了支付视图层的本事,接下去,大家要求利用其余工具管理应用程序中的状态和生命周期,在这里边推荐的工具正是:Redux。

为了合营 React,推特 开荒了保管单向数据流的工具 Flux,纵然 Flux
基本上完毕了对单项数据流的支撑,然则同时也带了别的题目,举例如何保存情状、什么地方发起
Ajax 央浼等等。

为精通决这一个标题,又衍生了一密密层层效仿 Flux
形式的框架:Fluxible、Reflux、Alt、Flummox、Lux、Nuclear、Fluxxor……

脚下以来被开辟社区科学普及协理的二个兑现正是 Redux。

在 Redux
中,大多数的组件都以纯函数式的组件,也独有一个聚齐的囤积和能源宗旨。Redux
的实例方法担当整个数据的操作和保证。比较 Flux 来讲,Redux
的笔触越发清楚。

更注重的是,Redux 非常容易学习。Redux 的笔者 Dan Abramov
是叁个理想的老师,他制作了一雨后冬笋深入显出的 Redux
录制教程。通过观望那个录制,就可以成为二个 Redux
方面的大家。小编早就见识到贰个零底工的 React
团队在短暂几周内火速开垦出了测量试验版产物,且代码特别安稳和干练。

Redux 左近的生态系统和 Redux 自身相符健康。从奇妙的
devtool
到有力的记念化学工业具
reselect,Redux
开辟社区为开垦者提供了圆满的工具。

开辟者恐怕会本能地去品尝抽象出一个 Redux
模板,这么做有许多好处,但请在认清需要的幼功上来封装模板,而毫不盲指标去尝尝。

ES6 和 Babel

是时候抛弃 CoffeeScript 了,那是因为它的相当多风味已在 ES6
中出现就像是的语法,而 ES6 是实施标准,代表了 JavaScript 现在的前进倾向。

近日风靡的浏览器已经支撑了 ES6 的大多表征。Babel
是一个强有力的改换工具,用于将 ES6 转变为
ES5。别的,依照目标浏览器能够调动代码调换的档案的次序。

这就是说是不是有品种系统啊?TypeScript 和 Flow 都为 JavaScript
提供了静态类型系统,使用静态类型检查,能够有效捕获错误,收缩测验量。近来来讲,作者提议对此持观看态度。

TypeScript 在奋力让 JavaScript 向 C# 或 Java
的样子前行,但贫乏了相当多高等的类型系统脾性,举个例子代数数据类型(algebraic
data types)。别的,它不能够像 Flow 同样有效地拍卖 null。

相比较来说,Flow 更加强硬,捕获的荒谬类型也更加多,但来处不易配置。其它,它对
JavaScript 新特色的支撑弱于 Babel,也不帮忙 Windows 系统。

就自个儿个人的角度来说,在前端开垦中类型系统并不是生死攸关的一环(此处或然有纠纷)。在品种系统更加强健且对
Babel 更温馨以前,还是让大家翘首以待吧。

ES6 和 Babel

是时候抛弃 CoffeeScript 了,那是因为它的好多表征已在 ES6
中现身就像的语法,而 ES6 是实行标准,代表了 JavaScript 今后的腾飞趋势。

时下新星的浏览器已经帮助了 ES6 的大多特点。Babel
是一个强有力的调换工具,用于将 ES6 转变为
ES5。别的,依照目的浏览器能够调节代码转变的档案的次序。

那么是或不是有档次系统啊?TypeScript 和 Flow 都为 JavaScript
提供了静态类型系统,使用静态类型检查,可以使得捕获错误,减弱测量检验量。近些日子以来,作者建议对此持观望态度。

TypeScript 在用尽全力让 JavaScript 向 C# 或 Java
的取向前进,但紧缺了累累尖端的档案的次序系统天性,举个例子代数数据类型(algebraic
data types)。别的,它不可能像 Flow 雷同有效地拍卖 null。

比较来讲,Flow 更狠抓大,捕获的荒诞类型也越来越多,但谈何轻便配置。别的,它对
JavaScript 新特征的接济弱于 Babel,也不帮衬 Windows 系统。

就自己个人的角度来说,在前端开拓中类型系统并非注重的一环(此处或者有周旋)。在档案的次序系统越发健康且对
Babel 更温馨以前,如故让大家拭目以待吧。

ESLint

另二个确凿的工具是 ESLint。ESLint 援救 ES6 语法,还提供了 React
插件,已经不单单是四个代码核查工具了。最近以来,JSLint
已经不达时宜了,ESLint 能够代替 JSHint 和 JSCS 独具匠心了。

开辟者能够依附本身的急需安插 ESLint,可是在这里边自个儿提议遵照 AirBNB
的支出标准进展配置,也能够一直运用 ESLint
airbnb
config。当然那份正经中尚有白玉微瑕,但保持团队完全代码的一致性,能够使得进步代码的可读性。

当你熟识了 ESLint 之后,提议开垦者深切地品尝此中的平整。ESLint
捕获的不当越来越多,产物的平稳越高。

ESLint

另二个确实的工具是 ESLint。ESLint 扶植 ES6 语法,还提供了 React
插件,已经不单单是一个代码考察工具了。近期的话,JSLint
已经不适那时候宜了,ESLint 能够替代 JSHint 和 JSCS 地方风味了。

开辟者可以凭仗本人的需求陈设 ESLint,不过在那处本人提出遵照 AirBNB
的开支规范拓展示公布局,也得以间接选择
ESLint airbnb
config。当然那份正经中尚有美中不足,但保持团队完全代码的一致性,可以使得提升代码的可读性。

当你领会了 ESLint 之后,提议开辟者深远地品尝在那之中的规行矩步。ESLint
捕获的荒诞越多,产物的水静无波越高。

NPM,CommonJS 和 ES6 modules

忘记 Bower 吧,用 NPM 接管一切。近似 Browserify 和 Webpack
的营造筑工程具间接升高了 NPM 在 web 开辟中的地位。使用
NPM,版本管理将会非常简便易行,也将更加多地与 Node.js 生态系统接触。近日对此
CSS 的拍卖尚不丰裕康健。

您恐怕会考虑如何在配备服务器上进行营造呢?与 Ruby 的 Bundler
有所区别,NPM
使用了通配符检索文件,且第三方包能够在代码开辟中以至项目揭穿前做大肆改良。使用 shrinkwrap 文件可以冻结项目中的第三方信任,小编建议使用
User 的
shrinkwrap,提赶过口的一致性。别的,开拓者也足以伪造动用相像Sinopia 的工具托管自个儿的个体
NPM 服务器。

Babel 会将 ES6 module 语法调换为 CommonJS。CommonJS
是一种历经施行的语法,那意味着牢固和通用,其余,使用相像 tree
shaking (Webpack
2.0 和 Rollup 已经支撑该特性)的机制大家还是可以实现静态代码剖判。

NPM,CommonJS 和 ES6 modules

记不清 Bower 吧,用 NPM 接管一切。肖似 Browserify 和 Webpack
的创设筑工程具直接提升了 NPM 在 web 开垦中的地位。使用
NPM,版本管理将会越来越简便易行,也将越来越多地与 Node.js 生态系统接触。如今对此
CSS 的管理尚不丰富康健。

你大概会思索怎么样在构造服务器上推行营造呢?与 Ruby 的 Bundler
有所不一致,NPM
使用了通配符检索文件,且第三方包能够在代码开辟中以至项目揭露前做大肆修改。使用
shrinkwrap
文件能够冻结项目中的第三方信任,笔者提出使用 User 的
shrinkwrap,提超过口的一致性。其它,开荒者也足以思谋选用雷同
Sinopia
的工具托管自个儿的个人 NPM 服务器。

Babel 会将 ES6 module 语法调换为 CommonJS。CommonJS
是一种历经实行的语法,那意味着稳固和通用,其余,使用相像 tree
shaking
(Webpack 2.0 和 Rollup 已经补助该天性)的机制大家仍可以促成静态代码剖析。

Webpack

除非你愿意在页面增多数百个脚本标签,不然的话你应当尝试用创设筑工程具来打包页面的财富了。此外,你还必要或多或少工具让浏览器扶植NPM 第三方包。在这里间,笔者推荐你接纳 Webpack。

一年在此之前对于上述工作,开拓者还大概有不少工具得以选用,举例依照 JavaScript 的
RequireJS、Browserify 和 Webpack 建设方案,别的还著名叫能对 ES6
的模块实行最好优化的 RollupJS.

在尝试了独具的工具之后,小编生硬提议开辟者选择 Webpack:

  • 通过安插能够回答各个景况
  • 支撑主流的模块加载格局(Intel,CommonJS,globals)
  • 个中机制能够修复缺损的模块
  • 能够处理 CSS
  • 八面后珑的缓存系统
  • 扶植热重载
  • 能够加载大繁多的能源
  • 提供飞速的品质优化方案

Webpack 也非常短于处理大型的单页应用,协助代码分割和惰性加载。

而是值得注意的是,Webpack
的求学曲线极其陡峭。不过借让你学会了它,那么您就领会了最有力的构建系统。

那么 Gulp 和 Grunt 呢?相比来讲,Webpack
更擅长管理各式能源。借使您须要执行此外类其余营造职务,那么 Gulp 和 Grunt
如故平价的。对于形似运转 Webpack 的为主职分,小编提出直接运用 NPM
脚本。

Webpack

只有你愿目的在于页面增加数百个脚本标签,不然的话你应该尝试用创设筑工程具来打包页面包车型地铁能源了。别的,你还亟需或多或少工具让浏览器扶助NPM 第三方包。在那,作者推荐你使用 Webpack。

一年早前对于上述专门的学业,开垦者还也可以有好多工具得以筛选,例如根据 JavaScript 的
RequireJS、Browserify 和 Webpack 施工方案,此外还出名称叫能对 ES6
的模块举行最好优化的 RollupJS.

在品味了具有的工具之后,作者刚烈建议开辟者选用 Webpack:

  • 透过配备能够答应各类场地
  • 援助主流的模块加载形式(英特尔,CommonJS,globals)
  • 在那之中机制能够修复残缺的模块
  • 能够拍卖 CSS
  • 康健的缓存系统
  • 帮助热重载
  • 可以加载大超多的财富
  • 提供便捷的性子优化方案

Webpack 也极其擅长管理大型的单页应用,协理代码分割和惰性加载。

不过值得注意的是,Webpack
的读书曲线极度陡峭。可是假设你学会了它,那么您就通晓了最苍劲的营造系统。

那正是说 Gulp 和 Grunt 呢?相比较来说,Webpack
越来越长于管理各式财富。如若您要求实行其它体系的创设任务,那么 Gulp 和 Grunt
仍旧管用的。对于相通运转 Webpack 的着力职分,作者提议直接行使 NPM
脚本。

Mocha + Chai + Sinon

在 JavaScript
中,有恢宏可选的单元测验工具,每四个都很平静和矫健。借让你只是用来单元测量检验,那么现存工具完全能够胜任你的要求。

普遍的测量试验工具备 贾斯敏、Mocha、Tape、Ava、Jest 等,它们春兰秋菊。

本身对三个测量试验框架的渴求有如下几条:

  • 能够在浏览器运营,便于调试
  • 施行进程快
  • 造福管理异步测量试验
  • 便利在命令行中使用
  • 可以相称大肆断言和数据模拟的第三方库

先是条规范就裁撤了 Ava 和 Jest。

本人心爱 Chai 断言是因为其系列充裕、效用齐全的插件,喜欢 Mocha
是因为其对异步的优良扶持。刚强建议使用 Dirty
Chai 防止有些难点。Webpack
的 mocha-leader 插件允许开拓者自动实施测量检验。

对此 React 来讲,开采者能够参见一下 AirBNB
的 Enzyme 和 Teaspoon。

自身非凡深爱 Mocha
的特征,假若您想要的只是最根基的功效,能够参照那篇文章了解一下
Tape。

Mocha + Chai + Sinon

在 JavaScript
中,有雅量可选的单元测试工具,每一个都很平静和完善。如若您只是用来单元测量检验,那么现成工具完全能够胜任你的必要。

科学普及的测验工具有 Jasmine、Mocha、Tape、Ava、Jest 等,它们齐镳并驱。

自己对三个测量检验框架的供给犹如下几条:

  • 能够在浏览器运转,便于调节和测量试验
  • 实施进程快
  • 方便人民群众管理异步测验
  • 有利在指令行中使用
  • 能够相配任意断言和数据模拟的第三方库

第一条规范就免去了 Ava 和 Jest。

自个儿赏识 Chai 断言是因为其项目足够、效用齐全的插件,心仪 Mocha
是因为其对异步的精彩协助。猛烈建议使用 Dirty
Chai
制止有些难点。Webpack 的
mocha-leader
插件允许开采者自动推行测验。

对于 React 来讲,开辟者能够参谋一下 AirBNB 的
Enzyme 和
Teaspoon。

自家拾叁分喜爱 Mocha
的本性,要是你想要的只是最幼功的效率,能够参照那篇文章打探一下
Tape。

Lodash

JavaScript 并从未二个相通 Java 或 .NET
的基本工具库,所以开荒者大都会从外表援引叁个外表工具库。

眼下来讲,Lodash
是此类工具中的佼佼者。别的,由于它惰性执行的特点,也让它是眼下品质最棒的工具之一。使用
Lodash 时无需引用全部财富,开辟者能够按需选取个中的函数。在 4.x
版本中,Lodash 为偏心函数式编制程序的开拓者提供了多个“函数式开采”情势。

假诺您纯熟函数式编制程序,你可以精晓一下 Ramda。假使您调节利用这些库,恐怕必要引用一些
Lodash 函数。

Lodash

JavaScript 并从未四个肖似 Java 或 .NET
的基本工具库,所以开拓者大都会从外表引用二个外表工具库。

眼下来讲,Lodash
是此类工具中的佼佼者。别的,由于它惰性实践的特征,也让它是日前质量最好的工具之一。使用
Lodash 时无需引用全体财富,开采者能够按需利用个中的函数。在 4.x
版本中,Lodash 为偏好函数式编程的开辟者提供了四个“函数式开采”情势。

假使您熟知函数式编程,你能够掌握一下
Ramda。要是您说了算采用那个库,大概必要引用一些
Lodash 函数。

fetch

繁多基于 React 的应用程序都不再动用 jQuery
了。除非您正在维护一个破旧的档期的顺序依旧应用的第三方库重视了
jQuery,不然已经远非须求接受它了。

本身赏识让项目保持简洁,在代码中只行使 fetch 。fetch
基于 promise,Firefox 和 Chrome
都卷入了该接口。对于别的浏览器,则须求提供叁个腻子脚本。笔者建议使用 isomorphic-fetch 在各个浏览器和服务端保持功用的一致性。

本来也得以此外能够的第三方库异步获取数据,但自己认为 fetch 已经丰盛了。

fetch

重重依据 React 的应用程序都不再动用 jQuery
了。除非您正在维护三个破旧的项目仍然使用的第三方库正视了
jQuery,不然已经远非须求接受它了。

本身赏识让项目保持简洁,在代码中只行使
fetch
。fetch 基于 promise,Firefox 和 Chrome
都打包了该接口。对于任何浏览器,则须要提供三个腻子脚本。作者建议使用
isomorphic-fetch
在依次浏览器和服务端保持功用的一致性。

本来也得以其余能够的第三方库异步获取数据,但本身以为 fetch 已经丰硕了。

同构 JavaScript

同构 JavaScript 是指同期运转在顾客端和服务端的
JavaScript,常用来在服务端预先渲染页面,进步品质,便于 SEO。使用 React
能够兑现同构
JavaScript,不过并不轻便,它进步了程序的复杂度,约束了开拓者可选的工具和第三方库。

倘让你正在营造叁个 B2C 的站点,比方电子商务网址,那么你大概就必要动用同构
JavaScript。可是,对于内部站点还是 B2B
程序,品质就不是最要害的了,则同构 JavaScript 也就不是太重大了。

同构 JavaScript

同构 JavaScript 是指相同的时间运转在顾客端和服务端的
JavaScript,常用来在服务端预先渲染页面,进步质量,便于 SEO。使用 React
能够兑现同构
JavaScript,不过并不轻易,它提升了程序的复杂度,限定了开垦者可选的工具和第三方库。

如若你正在塑造二个 B2C 的站点,比方电子商务网址,那么你只怕就要求使用同构
JavaScript。不过,对于里边站点仍然 B2B
程序,品质就不是最关键的了,则同构 JavaScript 也就不是太重大了。

API

前天每一种人好像都在酌量如哪里理 API。每一个人都在与世起浮的施用 RESTfull
API,SOAP 已经成为了千古时。前段时间业界存在各种API 契约,举例 HATEOAS、JSON API、HAL、GraphQL 等。

GraphQL
授予了客户端进行随机查询的力量。搭配 Relay,能够越来越好地处理顾客端的图景和缓存。不过,创立GraphQL 的服务端接口的难度还比较大,且比相当多的文书档案都以面向 Node.js 的。

Netflix 的 Falcor 看起来提供了和
GraphQL/Relay
相仿的力量,同期还减弱了服务端的必要,但它最近尚处在开荒者预览状态,还没接受于实际花销。

全体已知的正经八百都各有短处,某些过于复杂,有个别只可以管理数量读取而不嗯那二个更新,某个和
REST 差别明显。比相当多开采者选拔本身开辟,可是还或许会遇见上述的主题材料。

作者不感到上述有四个完善的消除方案,但自己对 API 有三个自身的咀嚼:

  • 可预测,遵守一致性左券
  • 支撑在二次查询中获得五个实体
  • 援助立异操作
  • 轻便调节和测量检验
  • 轻巧使用

到近日甘休,笔者还尚无开采满足上述全部条件的缓解方案。

只要您正在接受 RESFful,建议参考 Swagger 来编写
API。

API

眼前各种人恍如都在思考如哪个地方理 API。种种人都在与世起浮的行使 RESTfull
API,SOAP
已经改成了千古时。近来产业界存在各样 API 公约,比方 HATEOAS、JSON
API、HAL、GraphQL 等。

GraphQL 赋予了客商端举行随机查询的力量。搭配
Relay,能够更加好地拍卖顾客端的景况和缓存。不过,创建GraphQL 的服务端接口的难度还相当大,且好多的文书档案都是面向 Node.js 的。

Netflix 的
Falcor
看起来提供了和 GraphQL/Relay
相符的力量,同不时候还减少了服务端的供给,但它这两天尚处在开荒者预览状态,还未使用于实际支出。

持有已知的正规都各有短处,有个别过分复杂,有个别只可以管理数量读取而不嗯那多少个更新,有个别和
REST 差别显然。多数开采者选用自己开销,可是还有恐怕会蒙受上述的主题素材。

自家不感觉上述有一个圆满的解决方案,但自个儿对 API 有一个要好的心得:

  • 可预测,遵守一致性左券
  • 支持在贰回询问中获得四个实体
  • 支撑修正操作
  • 轻便调节和测验
  • 轻易使用

到如今停止,小编还平昔不意识满意上述全体条件的缓和方案。

借使您正在选取 RESFful,提议参谋
Swagger 来编写 API。

Electron

Electron 能够使用前端技能营造桌面程序,GitHub
团队付加物的 Atom 编辑器就是基于 Electron 创设的。本质上,Electron
内部封装了叁个 Node.js,能够展开 Chrome 窗口渲染
UI,还足以访谈操作系统本地的
API,况且未有浏览器中的沙盒机制。开辟者能够通过 Electron
打包和分发应用程序。

那是创办跨平台软件最简便易行的不二法门,何况还足以接纳上述的具备工具。别的,Electron
有完整的文档和活泼的开荒社区。

您或许据书上说过 nw.js 的大名,纵然它曾经存在了连年,但对待来讲,Electron
尤其平静和易用。

这里有贰个依照 Electron、React 和 hot reload
的模板,尝试一下吗。

Electron

Electron
可以运用前端技能构建桌面程序,GitHub 团队出品的 Atom 编辑器就是依据Electron 创立的。本质上,Electron 内部封装了叁个 Node.js,能够打开Chrome 窗口渲染 UI,还是能访问操作系统本地的
API,何况未有浏览器中的沙盒机制。开采者能够经过 Electron
打包和散发应用程序。

这是开创跨平台软件最简单易行的秘技,况兼还足以选取上述的有所工具。别的,Electron
有整机的文书档案和活跃的开拓社区。

您恐怕传说过 nw.js
的大名,尽管它已经存在了连年,但对照来讲,Electron 特别牢固和易用。

此间有七个基于 Electron、React 和 hot reload
的模板,尝试一下呢。

延伸

下边是一些本身在 Instagram 上关注的对象:

  • Dan Abramov, Redux 的创制人
  • Christopher Chedeau, 特别活跃的 React
    开辟者,现就职与 Twitter
  • Jeff Morrison, Flow 的中坚进献者之一
  • Sebastian Markbåge, React
    的创制者之一
  • Pete Hunt
  • React
  • 更加多值得关心的靶子请参考 React
    Influencers

提出阅读 Pate Hunt 的 Learning
React!

Dan Abramov 公布一密密层层的录制教程 Getting started with
Redux,刚毅推荐!别的,Dan
还揭穿过一个关切列表,比上述越发详实。

Mark Erikson 的 React/Redux
links 群集也是很好的学习质感。

延伸

上边是局地本人在 推特(TwitterState of Qatar 上关注的目的:

  • Dan
    Abramov,
    Redux 的主要创我
  • Christopher
    Chedeau,
    极度活跃的 React 开垦者,现就职与 推特
  • Jeff
    Morrison,
    Flow 的骨干进献者之一
  • Sebastian
    Markbåge,
    React 的创办者之一
  • Pete
    Hunt
  • React
  • 越来越多值得关心的对象请参照他事他说加以调查 React
    Influencers

建议阅读 Pate Hunt 的 Learning
React!

Dan Abramov 公布一三种的录像教程 Getting started with
Redux,刚毅推荐!别的,Dan
还揭露过七个关怀备至列表,比上述尤其详实。

Mark Erikson 的 React/Redux
links
集结也是很好的学习材质。

按需使用

JavaScript 的生态景况发展非常的慢,正稳步强硬起来。React
的拔尖推行正在定点,附近工具的职责和技艺也日渐清晰。

最珍视的事情就是要铭记:保持简洁,按需使用。

借使您的应用程序唯有两三屏,那么就无需使用路由系统;假若你正在创制一个单页应用,那么依然无需Redux,只须要 React 本身的 state 属性就能够;如果您正在开创三个轻巧易行的 CRUD
程序,那么你就没有必要动用 Relay;倘诺您正在读书 ES6,并无需浓郁地询问
Async/Await 或装饰器;假如你刚刚开始学习
React,并不须要使用热重载和服务端渲染;假使您适逢其会接触
Webpack,你就不需求抽离代码和联合多个财富;假使您恰巧学习
Redux,你无需了解使用 Redux-Form 和 Redux-Sa瓦斯。

保持简洁,每一遍只做一件事!

按需使用

JavaScript 的生态情况发展迅猛,正逐年强盛起来。React
的精品执行正在定点,周围工具的天职和力量也日益分明。

最要害的事情便是要铭记:保持简洁,按需接收。

设若你的应用程序唯有两三屏,那么就不必要接收路由系统;如若您正在开创三个单页应用,那么依旧不必要Redux,只须要 React 自个儿的 state 属性就能够;假使您正在创制叁个简便的 CRUD
程序,那么您就不须求运用 Relay;借使您正在学习 ES6,并不供给深切地打听
Async/Await 或装饰器;假若您刚刚初阶学习
React,并无需使用热重载和服务端渲染;假如你恰巧接触
Webpack,你就不须要抽离代码和联合四个能源;要是你刚刚学习
Redux,你无需知道使用 Redux-Form 和 Redux-Sa瓦斯。

保证简洁,每回只做一件事!

发表评论

电子邮件地址不会被公开。 必填项已用*标注