二零一六年JavaScript领域中最受欢迎的“影星”们

因个体精力有限,暂停简书的保卫安全,欢迎我们关注本人的博客园https://www.zhihu.com/people/wei-wei-24-86-36/activities,会不停分享前端、Web开发有关小说

微信最初的文章:二〇一五年JavaScript领域中最受欢迎的“歌星”们

JavaScript社区的迈入正如盛壮之时的骐骥,—日而驰千里,趋势如亚马逊河后浪推前浪。

2015年曾经病逝,2017的做事早已拉开,你是或不是会担心错过一些至关心注重要的事物?无须担心,JS.ORG近年分享了一篇博文:https://risingstars2016.js.org,为我们回看了二〇一八年关键的自由化。

前端之巅翻译并整理了那篇博文,以飨读者。

JS.O本田CR-VG通过相比过去13个月里,在Github上日增的星标数,告诉您二零一四年的样子。

在2015年,React是社区之王,Redux在与Flux的烽火中获胜。那么,什么人是二零一五年的JavaScript的新星?

以下图表比较了Github在过去13个月初增加的星标数量。JS.OXC60G分析了bestof.js.org的品种,那是贰个与网络平台相关的一级项目标选项列表。

一. 二零一五年最受欢迎的体系

概述

CoffeeScript 1

Snip20170204_1.png

通过一年中最看好的12个门类,因而能够很好地询问2015年的Web开发环境,因为您会发现:

如上海展览中心现了二〇一六年中,JavaScript表现出了无处不在,成效三种的特色。

二〇一六年的王者

Vue.JS品类在上年的GitHub上获得了超越25,000颗星标,将包罗React和Angular的别样框架甩在身后,一骑绝尘。

一月公布的Veu.JS的版本2,带来了虚拟DOM的质量。

Vue.JS用以大商厦(包括阿里Baba(Alibaba),中夏族民共和国最大的电子商务公司)的生育,所以您能够认为它是二个平安的取舍。

它曾经有一个一定成熟的生态系统,包罗路由(vue-router)和境况管理库(Vuex)。

看来Vue.JS应用了最佳的React(组件方法)和AngularJS(模板是HTML代码增强的框架天性)。

二. 前端框架

CoffeeScript 2

Snip20170204_2.png

“前端框架”这一分拣或者是2015年JavaScript最累的一个牌行榜,大约各种月都会出现三个竞争者,不过,那促进了更新的步伐。

适于地说,在这一个种类中掺杂了两连串型的门类:

  • 总体的框架包括了装有机能,能够成立3个现代的Web应用程序(路由、数据提取、状态管理)。AngularJSAngular
    2
    EmberAurelia都属于这一类。

  • 更轻量级的消除方案专注于UI层,如ReactVue.JSInferno,等等。

咱俩早就提到了整机排行第1的Vue.JS,让大家看看其他竞争者。

React及其竞争者

React一体化排行第三,前端开发者没有什么人能够忽略React及其充裕的生态系统。

React如此受欢迎,它刺激了重重任何库,意在选取最棒的React,没有臃肿,提升在浏览器的性质和创设时间。

Inferno是其一类型中最受欢迎的项目,它声称是React最快的替代品。

在我们的排行中,紧跟Inferno之后,Preact也是React的二个毋庸置疑的替代品。它的生态系统是非凡老练的,例如有1个独具离线成效的Bolierplates、路由、Compat模块,以便你能够应用Preact项目中的任何现有React库。

Angular 1和Angular 2

Angular项目曾经拆分为一个存款和储蓄库,因为Angular 2是Angular
1的一点一滴重写,就算有的概念保持不变。

Angular
2
是用TypeScript编写的,并且利用ES6提供1个现代和彻底的框架。

AngularJS花色是1.x的道岔,它在许多品种中照旧采纳,并将一连流行一段时间。

值得说的是,Ember即便如此持有庞大的生态系统,但它的社区并不在前十名。

故而看起来,与其选取“开箱即用”的享有效用的全部框架,2015年开发商更倾向轻量级的方案,并喜欢组成和谐的方案——“点菜”。

在贰零壹伍年调味的更轻的方法,并更爱好组成和谐的缓解方案“点菜”。

三. Node.js框架

CoffeeScript 3

Snip20170204_3.png

2014年,使用以下解决方案创建和安插node.js应用程序从未如此简单:

Gomix那般的品种如故下跌了Node.js世界的门槛,使得任何人都得以在浏览器中轻轻松松点击几下去编写共享
Node.js代码。

假若你必须营造叁个Web应用程序,你会选用哪位框架?

Express

当您利用node.js塑造Web应用程序时,CoffeeScript,Express普普通通被视为事实上的Web服务器。它的军事学(多个足以利用中间件包扩张的简易为主)是绝大部分node.js开发职员了解的。

Koa

Koa的经济学接近Express,但它是行使ES6生成器,以幸免偶发被称之为回调鬼世界的题材。

Feathers

Feathers是一个分外灵活的化解方案,创立贰个“面向服务”的架构,它是叁个很好的适合创立node.js微服务。

Nodal

Nodal框架以指标无状态和分布式服务连接到PostgreSQL数据库。

Keystone

Keystone是自己所知获得贰个管理客户端并运转得最佳的消除方案之一,以便管理来自MongoDB数据库的始末。管理界面自动从模型生成,具有全部CRUD操作和精细的过滤器。

Sails

Sails是1个完完全全的MVC框架,受Ruby
on
Rails的启示(由此名为Sails!)。它已经存在了不短日子。它能够与其余类型的数据库(SQL或无SQL)非凡工作。

Loopback

Loopback是另二个早熟的框架,内置许多函数,包蕴使用令牌和到其余类型的数据库的连接器的表达。

它的刺客级功用是API浏览器成效,允许开发职员以直观的法门检查有着API端点,并能检查任何用户的令牌。假使您不可能不塑造八个API,那纯属是1个正确的挑三拣四。

四. React Boilerplates

CoffeeScript 4

Snip20170204_4.png

React是2个伟人的UI库,但使用React和现代Web开发工作流工具须求大量的安插。那么哪些开头创办三个应用程序呢?

那是React的“Boilerplates”和其余“Starter Kits”提供的答案:

Create React App

推特(Twitter)通过提供二个叫做Create React
App
的轻量级方法来缓解那几个需求,那是三个丰富有益的启航3个新的React项目。

Dan
Abramov
(Redux的成立者,现在为Facebook工作)做了一个英豪的办事,在不难性和成效找到了不错的平衡点。例如,没有花哨的体制消除方案(只是简短的CSS),没有劳动器端渲染,然而拥有的一体,都很好地打包了,开发人士的感受非常的屌。

与其竞争者的根本不相同是,要是选取Create React
App
,它将变成门类的重视项,全部的魔法是潜伏的,你看到的只是你的应用程序代码。您能够随时升级信赖关系,它并非只是贰个源点。

React boilerplate

命名为React
boilerplate
持有您要求的全部,包涵Redux和部分佳绩的离线成效,利用web
workers技术。

它让开发人士制造所谓的渐进式Web应用程序(Progressive Web
Applications,PWA):离线运转的Web应用程序,使用一种名为ServiceWorker的技艺,请阅读NicolásBevacqua的作品。

Next.js

Next.jsZeit创造,具有可用来创造通用应用程序的服务器端显示效果(或同构应用程序,如小编辈在二〇一四年所说),也正是说客户端和劳动器端运营的应用程序使用相同代码。

五. Mobile

CoffeeScript 5

Snip20170204_5.png

JavaScript无处不在,你能够动用技术Web开发职员已知的别的技术(HTML、JavaScript、CSS)创设移动应用程序。

React Native

利用React
Native,你能够从相同的代码库使用React开发职员熟习的概念塑造iOS和Android真正的原生移动应用程序。要打听关于营造iOS和Android应用程序的越多新闻,请阅读那本教程

别的依据Cordova的化解方案,依靠WebView来渲染显示器,并且比不上原生化解方案那么急忙。
“三回编写,四处运维”,那是开发人士的梦想成真!

Ionic

Ionic是“混合”应用程序概念的四驱。在后斯特拉斯堡,它依照Cordova访问活动设备效用。那是三个可怜干练的巨型生态系统。

NativeScript

NativeScript意在贯彻与React
Native
一律的指标(使用Web技术营造真正的移动应用程序)。它有两种种风格:NativeScript
Core和NativeScript + Angular 2。

前瞻

在二零一七年仔细关心的叁个品种:Weex,一个创设在Vue.JS以上的活动跨平台UI框架。

六. Compilers

CoffeeScript 6

Snip20170204_6.png

我们在那边谈论生成任何语言(或JavaScript的其他变体)的JavaScript的编写翻译器(或“transpilers”)。它们将代码转换为浏览器(或Node.js)能够进行的“标准JavaScript”代码。

比如,编写翻译器允许开发人士使用最新版本的JavaScript(ES6)编写代码,而无须担心浏览器的支撑。

TypeScript

最风靡的转换器是TypeScript,它为Web开发人士提供了Java和C#开发人士使用的静态类型。事实上,Angular
2
运用TypeScript增添了越多的牵重力。在JavaScript中央银行使项目有利弊,阅读这一个小说,使您自身的意见:

Babel

Babel与Webpack一起,差不多成为编写翻译ES5代码和标准JavaScript中的库(如React(JSX))使用的模版的正式。最初创制用于编写翻译ES6,它成为一个更通用的工具,能够做到别的代码转换,拜二个系统的插件所赐。

Flow

Flow不是一个编写翻译器,它是二个用来“注释”JavaScript代码的静态类型检查器。基本上在代码库中利用Flow意味着添加注释来描述期望的品种(点阅读愈多理解使用Flow编写模块)。

它在推文(Tweet)(TWT奥德赛.US)项目标代码源内使用。因为推文(Tweet)成为开源世界的重要剧中人物之一(像ReactReact
Native
FluxImmutableJest等门类),那代表很多。

CoffeeScript

多年来,CoffeeScript是因为其简洁语法(灵感来源Python和Ruby语法),成为最受欢迎的编写翻译器,但它在二零一五年不太流行,很多开发职员从CoffeeScript迁移到ES6与贝布el。

七. Build Tools

CoffeeScript 7

Snip20170204_7.png

在2015年,很难想象三个尚无别的构建进度的Web应用程序。常常需求一个营造进程来编写翻译模板和优化资源,以便在生育环境中运转Web应用程序。

Webpack

Webpack是用来创设单页应用程序的要害工具,它与React生态系统一起行使。新公布的本子2带来了有个别冲动的抓实功用(查看那份介绍)。

Gulp

Gulp是一个通用的天职运维器,能够用于涉及文件系统的任何项目标机关进程,由此它不是Webpack或Browserify的间接竞争者。

Grunt同一,居尔p通过集合工作:你能够要求它收缩和连接能源列表,可是它不会像WebpackBrowserify那么处理模块化JavaScript自身。

可是,它能够很好地与webpack一起干活,尽管开发人士倾向于选择npm脚本。

Browserify

Browserify鉴于其容易性,受到了node.js开发人士喜爱。

大抵,它须求多少个node.js包作为输入,并为浏览器生成2个单纯的“构建”文件作为出口。可是犹如三个更有理念的工具像Webpack是1个更好地顺应Web应用程序工作流。

前瞻

前年的模块捆绑包,强调品质:汇总(rollup)。

它应用ES6模块与二个称呼树摇动(Tree
shaking)功效创立捆绑包,只包罗你在代码中接纳的效应,而不是搬运完整的库。

八. Testing Frameworks

CoffeeScript 8

Snip20170204_8.png

最显赫的三个测试框架是JasmineMocha,但多年来的八个种类在二零一四年有越多的牵重力:AVAJest

AVA

AVA,由多产的Sindre
Sorhus
始建的强调质量(并行测试)和ES6。
AVA的语法接近标准测试框架,如TapeNode-tap

Jest

Jest,另1个推特(TWTHaval.US)项目,在过去的几周里拿走了极大的牵重力。它在React社区中是明显的,更多的人转账Jest(阅读那篇传说来询问),它或者成为二〇一七年最盛行的测试框架。

Jest有内置的美好的模拟能力,而此外测试框架常常依赖于像Sinon.JS那样的库。

九. IDE

CoffeeScript 9

Snip20170204_9.png

关于IDE(Integrated Development
Environment,集成开发环境),值得一说的是,八个最盛行的IDE是利用Web技术开发的开源项目。

Visual Studio Code

在我们的结果中,Microsoft凭借Visual Studio
Code
天南海北当先。

它提供了贰个与TypeScript和node.js的很好的合一。一些开发职员提到有关开发速度,很多谢英特尔liSense功用(高亮和自行完结的混杂)。

在同一句话中涉及“开源”和“微软”不再龃龉了!

Atom

Atom是由Github推动的、并且由Electron创设(像其余部分桌面应用程序,包罗Slack桌面客户端),并非远远滞后Visual
Studio
Code
。关于Atom的三个有意思的事实:它的首要语言是CoffeeScript!

十. Static Site Generators

CoffeeScript 10

Snip20170204_10.png

静态网站生成器(Static site
generators,SSG)是生成一多重HTML、.CSS和JavaScript文件的工具,您能够在别的简单的Web服务器(Apache或NGNX)上配置,而不用节外生枝,或许安装数据库或其余网络框架。正如Gatsby网站所说:

就像一九九四年那么建立网站。

静态网站有着连忙性、鲁棒性和易维护性。

SSG格外受欢迎,因为有诸多很好的缓解方案来牵头静态网站免费:

Hexo

在2016年,使用node.js营造的最风靡的SSG是Hexo。它是2个绝望的SSG,接近CMS系统,可用于构建一个博客,如Wordpress。它有众多作用,包含国际化插件。

Gatsby

新来的Gatsby是多少个那么些有意思的消除方案,它从竞争对手平地而起,因为它选拔React生态系统来扭转静态html文件。事实上,您能够整合React组件,马克down文件和劳务器端渲染使它那个强大。

2016 总结

固然存在JavaScript疲劳™和戏剧(记住“左键门”),但对此社区而言,随着像Vue.JSReact
Native
花色的勃兴,以及像YarnCreat
React
App
的新类型,二零一五年如故不啻为1个光辉的年份。

大家一直在研究的品种,二〇一五年在GitHub获得了吸晴,但真的关键的是开发者的知足度。所以,假使您想要二个更定性的措施,上Sacha
Greif查看JavaScript调查切磋的结果,它收集了超越9,000的反映。


以下是JS.O中华VG的年份十公投项,以及JS.O本田UR-VG的想法:

  • Vue.JS:势头强劲,不会终止

  • Electron

  • Create React
    App

  • React
    Native

  • Gatsby

  • Yarn:
    2个十分的快,可相信和天水的正视性管理,能够代表npm,点此处问询Node.js包管理器的景况。

  • 渐进式Web应用程序。

  • Node.js微服务使用像Now诸如此类的托管化解方案很简单铺排。

  • Node.js的演变:最新版本对ES6语法提供精美的扶助。

  • 还有一个采纳是GraphQL:据JS.O福特ExplorerG明白,GraphQL将有大动作。

<recommend
image=”http://mmbiz.qpic.cn/mmbiz\_jpg/uMh5nccSicmLqdlico7Q6cicPbxrgJiaoXIUoYmo5VwUDF66KJIibzfkApGrus2CJdOf7HkrOQNxUbrWOL8fZByYQ8Q/640?wx\_fmt=jpeg&tp=webp&wxfrom=5&wx\_lazy=1
title=”蘑菇街前后端分离实施”
link=”http://mp.weixin.qq.com/s?\_\_biz=MzIwNjQwMzUwMQ==&mid=2247484921&idx=1&sn=d2b2f97331b81472fd1c686b20c11a20&chksm=9723673ba054ee2d9cbf2cbbc9d42e2b6fff442ff581045a1d73e389fe7fa3285f837781e7e4\#rd"&gt;&lt;/recommend&gt;

视野拓展

QCon是由InfoQ主办的芸芸众生拔尖技术盛会,每年在London、法国首都、东京(Tokyo)、London、洛杉矶、东京、曼谷进行。扫描下图二维码,明白越多音信。

CoffeeScript 11

QCon北京2017将于4月16日~二十八日在香港(Hong Kong)·国家会议中央进行,精心设计了支撑海量业务的网络架构、大规模网关系统、微服务实践、快捷进步的器皿生态、智能化运转、互连网广告系统推行、大数目实时计算与流处理和财经科技(science and technology)转型与以后等30来个专题,涵盖框架结构、大数量、云总计、移动、前端、人工智能等叫座领域,将邀请来自谷歌(Google)、推文(Tweet)、Alibaba、腾讯、百度、美团点评、爱奇艺等典型互连网集团的技艺术专科学校家,分享技术世界最新成果。敬请期待。

前端之巅

「前端之巅」是InfoQ旗下关心前端技术的垂直社会群众体育,投稿请发邮件到editors@cn.infoq.com,申明“前端之巅投稿”。

CoffeeScript 12