澳门新浦京娱乐场网站-www.146.net-新浦京娱乐场官网
做最好的网站

澳门新浦京娱乐场网站:二零一五年JavaScript领域

Vue, React, AngularJS, and Angular2. 我们对流行JavaScript框架们的选择

2017/07/31 · JavaScript · 框架

原文出处: ANTONI ZOLCIAK   译文出处:众成翻译   

一个有趣的事实是:IBM发表的2017年最值得学习的编程语言名单中,JavaScript榜上有名。这位IT巨头指出,JS在网站中惊人地达到94.4%的使用率,而且“不太可能降低”。JavaScript能确保“对用户非常友好的网页,因为它负责整个web界面,包括动画和交互”。不管你怎么看,JavaScript很重要。

这也为潜在的Web开发人员指明了方向:如果你深入前端,你不得不在某些时刻面对JavaScript。并且正确的开发指南可能有助于此。

让我们假设你知道JavaScript基础知识。纯JS(不是一无所知)的那种。如果假设是正确的(意思是你了解基础),你可能对现代JavaScript框架们的学习更感兴趣。这些框架通常带有预置的函数和一些构建应用的方法。

澳门新浦京娱乐场网站 1

虽然有些人可能认为框架有局限性,但是世界上大多数开发者更喜欢使用框架(不要将它们与库混淆),因为它们使工作更容易,更快速,在通常情况下更可靠。

好吧!说完这些,是时候该深挖一点儿了。

我们的开发团队准备了他们每天使用的框架清单。虽然周围肯定有更多的JavaScript框架,这些是我们最关注的。

接下来,你会看到我们所爱的技术及其各自特点的简单概述。

一个有趣的事实是:IBM发表的2017年最值得学习编程语言名单中,JavaScript榜上有名。正是这位IT巨头指出,JS在网站中惊人地达到94.4%的使用率,而且“不太可能降低”。JavaScript能确保“对用户非常友好的网页,因为它负责整个web界面,包括动画和交互”。不管你怎么看,JavaScript很重要。

首先,展望未来趋势我们就要弄懂过去的一年,也就是18年,web前端开发的重要新闻、重要事件和JavaScript的各种流行框架、模式发展趋势。

因个人精力有限,暂停简书的维护,欢迎大家关注我的知乎https://www.zhihu.com/people/wei-wei-24-86-36/activities,会持续分享前端、Web开发相关文章

JavasScript社区在创新的道路上开足了马力,曾经流行过的也许一个月之后就过时了。

大街上的酷小孩-Vue.js

澳门新浦京娱乐场网站 2

它就像一个还在读高中的超级巨星。这不是一个成熟的技术,所以我们真的无法预言五年后,Vue会发生什么。然而目前,它可能是每个会议议程中最引人注目的话题

如果你决定和JS极客喝两杯,他肯定会谈论Vue。如果Vue是个流行歌星,那么现在它就是最红的。如果…嗯,你明白我的意思。

它由尤雨溪在2014年2月建立。在2016年,Vue.js拥有惊人的89%的开发人员满意度评估,目前是GitHub中star最多的项目之一。

虚的说差不多了,来点实际的。什么是Vue.js?首先,它是本文中讨论的所有JavaScript框架中最快最小的。它的语法和原理所需要的学习成本不是很高。此外,它还具有高覆盖率的文档。你想要执行的操作绝大部分情况都已有文档说明。反之,如果一个操作没有文档记录,你能在线上找到解决方案的几率很小,因为Vue不如Angular或React更流行。

注意:Vue的发音和“view”一样。

这也指明了潜在Web开发人员的方向:如果你深入前端,你不得不在某些时刻面对JavaScript。并且正确的开发指南可能有助于此。

我们来快速回顾一下。

微信原文:2016年JavaScript领域中最受欢迎的“明星”们

2016已经结束了。你可能会想你是否错过一些重要的东西?不用担心,我们正在回顾那些流行趋势。

随便挑5个Vue.js的特性说一下:

  • 便于扩展的插件系统。
  • 拥有在使用服务端渲染时的库(Nuxt.js)。
  • 支持范围样式。
  • 有一个CLI工具,允许你通过先进的前端工作流设置,快速构建单页应用。
  • 被加入Laravel5.4的新特性中,用来处理前端模板

就像React一样,Vue.js仅处理视图层。也就是,它让开发人员自己实现他们的业务逻辑。它还实现了Flux架构:Vuex。作为我们的队友, Maciej Kolodziejczak说:

在我看来,Vuex比React的Redux使用起来更好,更容易。

此外,Vue.js在Chrome中拥有最好的开发者工具,并且Weex也使用Vue的语法,它是一个通过JavaScript构建原生应用的框架,也是React Native的竞争对手。值得注意的是,Weex并不太完善,特别是对于商业项目。目前,它更多的是一个方案而不是一个真正的技术。

对开发者来说,Vue.js的优势在于:

  • 易于学习和理解,能快速开发应用
  • 与Laravel集成,所以具有Vue知识的开发人员对使用Laravel开发应用的后端团队有所补充
  • 拥有非常方便的CLI工具,可以快速启动
  • 有很多额外的模块,如路由器和状态管理工具;虽然不如其他框架那么多

对客户来说,Vue.js的优势在于:

  • 降低前端应用成本,乃至全功能web应用的成本(在使用Laravel和Vue.js的组合时)
  • 在保证稳定性的同时,是一个快速可靠的解决方案
  • 较小的模块很适用,如日历,联系人表单或小部件

让我们假设你知道JavaScript基础知识。纯JS(不是一无所知)的那种。如果假设是正确的(意思是你了解基础),你可能对现代JavaScript框架们的学习更感兴趣。这些框架通常带有预置的函数和一些构建应用的方法。

NPM热门前端框架下载

JavaScript社区的发展正如盛壮之时的骐骥,—日而驰千里,趋势如长江后浪推前浪。

通过比较过去12个月里Github所增加的star数,我们依次来看看哪些项目吸引了大多数眼光。

开发者满意度最高-React.js

澳门新浦京娱乐场网站 3

React是由Facebook的Jordan Walke创建的,GitHub的最流行框架中排名第5。然而,React.js(以及React Native)最火爆的时间点是在2015年。

State of JS调查显示React的开发者满意度最高,达到92%。Vue跟它在同一个级别。根据调查,React的开发者较平均水平来说,在决定哪个技术配套使用前,会尝试多种其他技术组合。

澳门新浦京娱乐场网站 4

先来看最热门的几个框架npm下载量图

2016年已经过去,2017的工作已经开启,你是否会担心错过一些重要的东西?无须担心,JS.ORG不久前分享了一篇博文:https://risingstars2016.js.org,为大家回顾了去年主要的趋势。

在2015,React是当之无愧的王者,Redux赢得了与flux之间的战争,攻陷了Flux的城池。

随便挑5个React.js的特性说一下:

  • 框架只负责”View”层,这意味着其它业务逻辑是完全解耦的,并且能以任何方式来实现。
  • 与框架相关的Redux是一个非常棒的类Flux架构的实现。
  • 模板方面,框架可以使用JSX语法,这个语法在刚上手时可能会有一点点难度。
  • 开发者掌握React.js的知识后,可以直接用于基于React Native的移动客户端开发。

React对VirtualDOM的使用,以及由此获得的高性能广受开发者好评。经常使用框架的开发者也是这与这项技术相关的庞大社群的重要组成部分。React的快速发展,除了 Facebook的维护外,也要感谢开源项目以及第三方的模块。

此外,随着React将会有一个能够向后兼容的重写版React Fiber的消息放出,React的”第二春”很快就会到来。

对开发者来说,React的优势在于:

  • 庞大且活跃的社区
  • 并非一个大而全的框架
  • JSX这种新的JavaScript语法,也是一个不错的优点
  • 相关的开发工具也很不错
  • 强制使用最新的最佳实践

对客户来说,React的优势在于:

  • 大量的开发者熟悉这个框架
  • React Native使得Web应用的逻辑可以复用于移动客户端
  • 有足够多的使用和测试场景来保证框架本身几乎没有bug和错误

JavaScript Frameworks

澳门新浦京娱乐场网站 5

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

那么,谁会是2016年的JavaScript之星呢?

智慧长老-AngularJS

澳门新浦京娱乐场网站 6

Google在2009年第一次发布了AngularJs框架,鼓励使用声明式编程方法去创建用户界面和连接各种组件,另一方面,指令式的编程用于实现程序的逻辑。

Brat Tech公司的Miško Hevery是这个技术的真正作者,当时,它被创建为在线JSON存储服务背后的软件。但是业务没有搞起来,所以公司放弃了这个想法,并将AngularJs作为一个开源库发布。

AngularJS使用双向数据绑定的方式,适配和扩展了传统的HTML来呈现动态内容。

所有这些可能听起来很有意思,事实是AngularJs已经有点老了 实际上。它是我们描述的框架里最老的了,大ReactJS4岁,Vue.js5岁,比Angular2年长了7岁之多。

尽管如此,他拥有Github上最多的贡献者(1,562个),随后是ReactJS,Angular2,Vue.js。

不可否认,AngularJS有一个陡峭的学习曲线,这个缺点在某种程度上被一个大型社区抵消,保证开发人员可能遇到的大多数问题存在解决方案。

有些人可能会有局限性的思考,认为世界上大多数开发者更喜欢使用框架(不要将它们与库混淆),因为它们使工作更容易,更快速,在通常情况下更可靠。

图里不难看出 十年霸主 jquery 依然稳定吗而且还有略高的上扬趋势,这可能亚太地区提供了不少帮助,毕竟很多老项目还是很依赖jquery。

JS.ORG通过比较过去12个月里,在Github上增加的星标数,告诉你2016年的趋势。

我们利用bestof.js.org分析所涉及的项目技术。(bestof.js.org罗列了一系列与web平台相关的最好的项目)

随便说AngularJS的5个特性

  • 仍然有许多项目使用AngularJS,所以了解AngularJS方便你维护这些项目。
  • 为不想使用新的Angular或Ember.js的团队提供可行且稳定的解决方案。
  • 使用脏值检查(digest cycle);与观察者模式相比孰优孰劣取决于你的需求。
  • PlayStation 3上的YouTube应用是用AngularJS开发的。
  • 以HTML为中心。

AngularJS是SPA中最常用的JavaScript框架之一,也是企业级应用的一个很好的选择。但是它确实很老了,大多时候是被老旧的应用采用。

AngularJs对开发者来说的”优”点:

  • 在2017年,如果你还没有使用它,你完全可以忽略他了。
  • 如果您需要更多功能的话,请使用新的Angular或Ember。

AngularJS对用户来说的”优”点:

  • 主要维护尚未准备好或无法获得足够重写的旧应用。
  • 由于框架复杂性,创建更复杂应用的成本很高。

(译者注:各种黑)

好吧!说完这些,是时候该深挖一点儿了。

React继续其统治地位无人能及。

在2015年,React是社区之王,Redux在与Flux的大战中获胜。那么,谁是2016年的JavaScript的新星?

1. 2016最流行项目

Angular2(或简称Angular)

澳门新浦京娱乐场网站 7

尽管在不挖掘源代码的前提下,很难完全了解Angular2的概念,它是一个非常强大的框架 内置了相当多的功能。

以AngularJS为基础,使用Typescript重写。与以前的版本相比,它没有scope或controllers的概念。相反,它使用组件层次结构化作为其主要架构概念。支持动态加载,改进了依赖注入,并提供更为简单的路由和异步模板编译机制。

我们的开发团队准备了他们每天使用的框架清单。虽然周围肯定有更多的JavaScript框架,这些是我们最关注的。

React多年来一直主导Web开发,2018年它根本没有放慢速度。根据Stackoverflow 调查它仍然是最受欢迎的库之一。

以下图表比较了Github在过去12个月中增加的星标数量。JS.ORG分析了bestof.js.org的项目,这是一个与网络平台相关的最佳项目的精选列表。

澳门新浦京娱乐场网站 8

随便说Angular2的5个特性

  • 由TypeScript编写,允许开发人员使用TypeScript,Dart或纯粹的ECMAScript。
  • 组件的模式利用了TS类和装饰器。
  • 陡峭的学习曲线
  • 开发过程很快。
  • 高级的的测试特性。

基本上,Angular可以摆脱AngularJS中存在的不必要的复杂性。然而,许多人认为,即使用CLI,单个开发人员的配置和启动过程仍然可能太长。

In’saneLab的开发团队也不太喜欢提供文档,特别是对于JS和Dart。另一方面,他们又喜欢将技术分解成很多模块。

Angular对开发者的优点:

  • 你喜欢TypeScript就开心了
  • 强制规定编写代码的方式,使得它成为与多个开发人员合作的好选择
  • 使用同一个库开发移动和桌面应用
  • 对于具有很多代码的单页应用是个不错的解决方案

Angular对客户来说的优点:

  • 使用该框架构建企业应用可能会降低成本
  • 大量开发人员已经知道如何使用框架

接下来,你会看到我们所爱的技术及其各自特点的简单概述。

核心React团队非常积极地更新库并添加功能。在整个2018年,我们看到了React v16版本的许多新增内容,包括新的[生命周期方法],[新的上下文API],[指针事件],[惰性函数]和[React.memo]。

一. 2016年最受欢迎的项目

通过比较去年最火的10个项目,你可以总览2016的web前端技术发展,会发现:

有最好的 Javascript 框架这一说么?

想要一个简单的答案? 没有。这跟公司目标、需求、以及最终的功能都有关系。举例来说,Angular2更像是一个百宝箱,特别适合大型项目。它非常复杂,并且需要花很多时间来全面的学习和掌握(但比AngularJS要简单一些)。但使用以JavaScript为核心的React,开发者就能快速高效得拼凑出一些有用的东西。

每个框架都在以不同的方式以实现适合用于不同场景的Web应用开发,包括MVP、创业公司和商业场景。

因此你应该考虑找到这样一个人,他能帮你选择适用于开发并且能够跟得上业务发展需要的技术。

而我们恰好具备这样的能力。

1 赞 1 收藏 评论

澳门新浦京娱乐场网站 9

大街上的酷小孩-Vue.js。

澳门新浦京娱乐场网站 10

Vue.js JavaScript framework

这个就像一个还在读高中的超级巨星。它不是一个成熟的技术,所以我们真的无法说,五年后,Vue会发生什么。然而目前,它可能是每个会议议程中最引人注目的话题

如果你决定和JS极客喝两杯,他会谈论Vue。如果Vue是个流行歌星,那么现在它就是最红的。如果...嗯,你明白我的意思。

它由尤雨溪在2014年2月建立。在2016年,Vue.js拥有惊人的89%的开发人员满意度评估,目前是GitHub中star最多的项目之一。

虚的说差不多了,来点实际的。什么是Vue.js?首先,它是本文中讨论的所有JavaScript框架中最快最小的。它的语法和原理所需要的学习成本不是很高。此外,它还具有高覆盖率的文档。你想要执行的操作绝大部分情况已被记录在案。此外,如果一个操作没有文档记录,你能在线上找到解决方案的几率很小,因为Vue不如Angular或React更流行。

注意:Vue的发音和“view”一样。

React Hooks 得到了一些响亮的反馈,很多开发人员喜欢这个更新。挂钩是一种使用该useState功能向功能组件添加状态的方法,它还将管理生命周期事件。

概述

澳门新浦京娱乐场网站 11

Snip20170204_1.png

通过一年中最热门的10个项目,由此可以很好地了解2016年的Web开发环境,因为您会发现:

  • 3个UI框架:Vue.JS、React、Angular 2

  • 新的Node.js包管理器:Yarn

  • 构建桌面应用程序的领先解决方案:Electron

  • 快速启动新的React项目的解决方案:Craste React App

  • 移动框架:React Native

  • 最著名的CSS工具包:Bootstrap

  • 基于函数概念的状态管理库:Redux

  • 强大灵活的图表库:D3

以上展现了2016年中,JavaScript表现出了无处不在,功能多样的特性。

这彰显了2016年JavaScript应用的全面性以及多功能性。

2016年的王者是······

Vue.JS在去年获得了超过25000个star,这意味着每天有72个star,超过了包含React以及Angular在内的其它任何框架。

Vue.JS在10月发布了2.0版本,这一版本为了更好的表现加入了Virtual DOM渲染方式。

Vue.JS已经在很多大公司的生产环境投入使用(包括阿里巴巴,中国最大的电子商务公司),所以,你可以放心的使用它。

现在Vue.JS已经有一个相对成熟的生态体系,包括路由(vue-router)以及状态管理库。

看起来Vue.JS结合了React以及Angular(html模板增强语法)的精华

2. 前端框架

澳门新浦京娱乐场网站 12

出现并发出自己的声音,推动着JavaScript的创新。

准确的说,这个目录里面有两种不同类型的框架:

全能型框架,创建一个现代web应用所需的特性全部有,包括路由、数据获取、状态管理。AngularJS,Angular 2,Ember或者Aurelia都在这个类别里面。

专注于UI层面的轻便解决方案,例如React,Vue.JS,以及Inferno等等。

我们已经提到了Vue.JS,让我们来看看其它的竞争者。

React以及它的竞争者

React排名第2,没有一个前端会忽视React以及它那丰富的生态圈。

React如此流行以至于其它的库总想取其精华,去其糟粕,在构建以及浏览器渲染方面提高效率。

Inferno是这个清单里面最流行的项目了,它声称最快的React替代品。

在我们的排行榜紧邻Inferno,Preact同样是React一个很好的替代品。它的生态系统相当成熟,举个例子,拥有离线缓存、路由以及兼容模板功能的样板,你可以利用这个样板使用你Preact项目里面的已存在的React库。

Angular 1 和 2

Angular如今已经分成2个仓库了,因为Angular2是对Angular1的全部重写,尽管有一些概念仍然相同。

Angular 2 基于 TypeScript 以及 ES6 编写,使其更加“现代”、“缜密”。

AngularJS这个项目指代的是其分支 1.x ,它仍然在许多项目中使用,并且仍会流行一段时间。

现在,是时候提及Ember了,虽然它庞大的生态圈以及社区不在top 10里面。

So it seems that, rather than opting for full frameworks with all features “out of the box”, developers in 2016 flavored lighter approaches and prefer to compose their own solution “à la carte”.

因此,看起来,相比于封装好的包含所有特性的全能型框架,2016年的开发者们更青睐轻量型框架,并且更愿意自定义解决方案,自己“点菜”。

3. Node.js 框架

澳门新浦京娱乐场网站 13

在2016,从未如此简单去创建以及部署一个node.js应用,只需要通过:Now、Webtask.io、Stdlib。类似于 Gomix 的工程项目更是降低了进入 node.js 世界的门槛,它使任何人只需要通过一些点击操作就能够直接在浏览器编写以及分享 node.js 代码。

那么,如果你不得不写一个web应用,你会选择哪一个框架?

Express

当你想用 node.js 写一个web应用的时候,Express 经常会被认为web服务器的选择之一。大多数 node.js 开发者对于它的设计哲学(核心很小,但可以通过各种中间件进行拓展)非常熟悉。

Koa

Koa的设计哲学与 Express 类似,只不过它使用了 ES6 中的 generators 来避免回调地狱问题。

Feathers

对于以“服务端导向”架构设计,Feathers是一个非常灵活的解决方案,很适合用来构建小的 node.js 服务。

Nodal

Nodal框架立志于解决连接到PostgreSQL数据库的无状态以及分布服务问题。

Keystone

Keystone是最好的MongoDB数据管理以及运行终端解决方案之一,它主要是用来处理从MongoDB数据库传来的内容。

管理界面是直接从模型里面生成的,拥有所有的CRUD操作以及很好的过滤功能。

Sails

Sails是一个完全的MVC框架,灵感来源于Ruby on Rails(所以把它命名为Sails!)。它已经发布了挺长一段时间了,兼容各种版本的数据库,SQL或者no-SQL。

Loopback

Loopback是另一个拥有很多特性的成熟框架,其中包括需要token验证的权限以及兼容任何数据库。

最牛逼的特性是其API探测功能。这个特性让开发者以直观的方式检测所有的API端点,在此过程中,开发者还可以去检测所有用户的token。

如果你想要去开发一个新的API,它回事很好的选择。

4. React模板生成器

澳门新浦京娱乐场网站 14

React是一个非常棒的UI库,但是利用React配合现代web开发工作流工具需要太多的配置。所以,怎么才能开始构建一个真实存在的应用呢?

React模板生成器以及其它的starter开发工具包给了我们这个答案。

创建React应用

Facebook为了满足这个需求,提供了一种更轻便的路线,被称为 Create React App,利用它可以很方便的开始一个新的React项目。

Dan Abramov(Redux的创建者,目前在Facebook工作)为寻找构建简单性和自主配置性之间的平衡做了很大的贡献。

例如,不需要繁杂的样式解决方案(仅仅只是单纯的CSS),不需要服务端渲染,依旧可以将应用很好的打包,同时,开发体验也非常棒。

与其竞争者最主要的区别在于,如果你使用了 Create React App,它就会成为你项目中的一个依赖,你只会看到你的应用的代码,其它的黑魔法都被隐藏起来了。

当然,你可以自由选择合适升级依赖包,这并不仅仅是开始。

React模板生成器

被成为 React boilerplate 的生成器拥有你所需要的一切,包括 Redux 以及一些比较好的本地特性,很好地利用了web工作者的技术优势。

它允许开发者创建一个被称为渐进式web应用:web应用本地运行,使用了一种被称为Service Worker的技术,你可以阅读Nicolás Bevacqua所写的这篇文章。

Next.js

Next.js,由来自Zeit忙碌的开发者所创建,拥有服务端渲染特性,可以通过此特性创建“万能应用”(或者我们在2015年所说的同构应用),

这代表应用不管是在客户端还是服务端都基本上可以运行同一套代码。

5. Mobile

澳门新浦京娱乐场网站 15

JavaScript无处不在,现在你都可以使用web开发者的技术(HTML,JavaScript,CSS)来创建移动端应用。

React Native

利用React Native,基于相同的代码以及React开发者熟悉的理念方法,你可以构建iOS和Android不同平台的移动端应用。

想要了解更多关于构建iOS以及Andriod平台应用的知识,请移步官方教程。

其它的解决方案,基于Cordova,常常依赖于Webview去渲染页面,但并没有原生流畅。“Write Once Run Everywhere···”开发者们的梦想终于成真啦!

Ionic

Ionic是“hybrid”应用概念的先锋。在其外表之下,它基于Cordova来获取移动设备的各种特性。它非常成熟,拥有一个庞大的生态系统。

NativeScript

NativeScript与React Native目的(利用web技术开发真正的移动端应用)相同。它有两种形式,NativeScript Core以及NativeScript Angular 2

以及······

2017年有一项快完成的项目:Weex,一个基于Vue.JS的跨平台移动端UI框架。

6. 编译器

澳门新浦京娱乐场网站 16

我们现在这里讨论的编译器是指其将其他语言(或者JavaScript的超集)转换JavaScript。它们将代码转换成“标准JavaScript”代码,即浏览器(或者node.js)可以执行的代码。

举个例子,编译器使开发者可以使用最新版本的JavaScript而不需要担心浏览器兼容问题。

TypeScript

引领潮流的转换器是TypeScript,它为web开发者带来了Java以及C#开发者所使用的静态类型。Angular 2 正是基于TypeScript增加了许多的特性。

这里也存在在JavaScript中使用类型的优势与劣势,你可以读下面的两篇文章来思考自己的观点。

You Might Not Need TypeScript

TypeScript:the missing introduction

Babel

Babel,同Webpack,已经基本上成为一个的标准工具,用来编译ES6代码以及使用类似React类库的模板。

最初,它只是用来编译ES6,现在已经成为一个用来做代码转换的更加通用的工具,感谢那一大批插件。

Flow

Flow并不是一个编译器,它只是一个静态类型检测工具,用来“标注”JavaScript代码。基本上,在代码中使用Flow只是增加对于意料中类型的注释

(这里阅读更多关于使用Flow去写模块)

它被使用在Faceboook项目的代码中。自从Facebook成为开源世界(开源项目例如React,React Native,Flux, Immutable,Jest···)的主角之一,

这里面有太多的意义了。

CoffeeScript

在过去几年中,基于Python以及Ruby语法的CoffeeScript以及它精妙的语法成为最流行的编译器,但在2016,它不再那么流行,很多开发者由CoffeeScript转向搭配Babel的ES6。

7. 构建工具

澳门新浦京娱乐场网站 17

在2016,很难想象一个web应用没有经过任何构建过程。你经常需要通过构建来转换模板以及优化资源,保证你的web应用在生产环境正常运行。

Wepack

Webpack是用来构建单页应用的主要工具,它与React生态良好兼容。最新发布的版本2增加一些先前期望的功能(可通过这篇介绍查看)

Gulp

Gulp是一个通用任务运行器,可以用来处理任何形式的自动化过程包括文件系统,所以,它并不是Webpack或者Browserify的直接竞争对手。

类似于Grunt,Gulp通过整合任务的方式工作:你可以让它压缩合并一系列的资源但它跟Webpack以及Browserify不同,并不处理模块化的JavaSript代码。

但它可以与Webpack很好的兼容,即使开发更愿意去使用npm scripts代替它。

Browserify

Browserify,由于其简便性,很多node.js开发者喜欢它。

大体上,它会利用几个node.js包来生成一个简单的构建后的文件作为输出。但看起来,一个类似Webpack这种自主配置更强的工具更适用于web应用开发工作。

以及······

2017年一个模块化处理工具正在崛起,它更强调性能问题,那就是rollup。

它使用了具有被称作“Tree shaking”的特性ES6模块来创建bundle,里面只有在你代码中使用的函数,而不是一整个类库。

8. 测试框架

澳门新浦京娱乐场网站 18

两个著名的测试框架使Jasmine以及 Mocha,但在2016,2个发布不久的项目吸引了很大的关注:AVA和Jest。

AVA

AVA,由多产的Sindre Sorhus创建,主要关注于性能以及ES6。AVA的语法与标准测试框架,例如Tape和Node-tap,相似。

Jest

Jest,又一个Facebook项目,在上个星期获得了很多的关注。在React社区,它很出名,越来越多的人开始向Jest迁移,

在2017年,它有可能成为最流行的测试框架。

Jest拥有很好的内置Mock数据能力,而其它的测试框架需要依赖类似于Sinon.js这样的类库。

9. IDE

澳门新浦京娱乐场网站 19

关于IDE,不得不提2个最受欢迎的利用web技术开发的开源IDE。

Visual Stdio Code

在我们的统计结果中,微软引领了Visual Stdio Code的开发工作。

它很好的整合了TypeScript以及node.js。一些开发者提到了开发速度的提升,这得感谢“IntelliSence”特性(整合了高亮以及自动补全)

提到“开源”和“微软”,再也不是矛盾的啦!

Atom

Atom,由Github主推,利用Electron创建(类似于其它的桌面应用,包括桌面客户端),其并不输于Visual Stdio Code太多。

关于Atom,有一个有趣的事情:它主要的编写语言是CoffeeScript!

10. 静态网页生成器

澳门新浦京娱乐场网站 20

静态网页生成器(或者被称为“SSG”)用来生成一系列html,css以及JavaScript文件的工具。你可以将这些文件部署在一个简单的web服务器上面(Apache或者NGNX),

不需要感到惊奇或者设置一个数据库或者使用任何的web框架。正如Gatsby网站这么说:

build sites like it’s 1995

静态网页很快,很强大并且很容易去维护。

SSG非常流行,因为有很多种好的方法能够免费去建立网站:

Github pages、Gitlab pages、Netlify、Surge、Now static

Hexo

在2016,利用node.js构建的最流行的SSG就是Hexo。它是一个一站式SSG,与Wordpress这样的CMS系统类似,

例如可以用来创建博客。它有很多特性包括国际化的插件。

Gatsby

新的入局者Gatsby是一个非常有趣的解决方案,它与它的竞争者不同,因为它利用React生态系统来生成静态html文件。

你可以选择与React组件、markdown文件以及服务端渲染整合,这使得它非常强大。

结论

尽管JavaScript疲劳以及各种戏剧性的事件(还记得“left-pad”门吧?),2016年社区发展良好,Vue.JS以及

React Native爆发,Yarn以及 Create React App新军突起。

我们已经讨论了2016年Github上面引领风尚的项目,但真正重要的是开发者的满意程度。所以,如果你想要更多干货,

去查一下Sacha Greif的JavaScript现状调查吧,收集了超过9000个回复!

是时候来想想2017了,下一个JavaScript之星是谁?

这里是我挑选的10个项目,在2016年我很喜欢这些项目以及想法,2017年它们仍将蓬勃发展:

Vue.JS:永不停歇

Electron

Create React App

React Native

Gatsby

Yarn:一个快速、可信赖的安全依赖包,可替代npm,可以在这儿

查阅node.js包管理工具的状态

“渐进式网页应用”概念

Node.js的“微服务”解决方案,能够更好实现部署,例如Now

Node.js的升级:最新一版已经实现对ES6语法很好的支持

最后一个就是GraphQL:我所有的朋友都告诉我,将有大事发生!

关于本文

译者:@墨白

译文:

原文:

随便挑5个Vue.js的特性说一下:

  • 便于扩展的插件系统。

  • 拥有在使用服务端渲染时的库(Nuxt.js)。

  • 支持范围样式。

  • 有一个CLI工具,允许你通过先进的前端工作流设置,快速构建单页应用。

  • 被加入Laravel5.4的新特性中,用来处理前端模板

就像React一样,Vue.js仅处理视图层。也就是,它让开发人员自己实现他们的业务逻辑。它也有被称为Flux架构实现的Vuex。作为我们的队友,36Kr某员工说:

在我看来,Vuex比React的Redux使用起来更好,更容易。

此外,Vue.js在Chrome中拥有最好的开发者工具,并且Weex也使用Vue的语法,它是一个通过JavaScript构建原生应用的框架,也是React Native的竞争对手。值得注意的是,Weex并不太完善,特别是对于商业项目。目前,它更多的是一个方案而不是一个真正的技术。

对开发者来说,Vue.js的优势在于:

  • 易于学习和理解,能快速开发应用

  • 与Laravel集成,所以具有Vue知识的开发人员对使用Laravel开发应用的后端团队有所补充

  • 拥有非常方便的CLI工具,可以快速启动

  • 有很多额外的模块,如路由器和状态管理工具;虽然不如其他框架那么多

对客户来说,Vue.js的优势在于:

  • 降低前端应用成本,乃至全功能web应用的成本(在使用Laravel和Vue.js的组合时)

  • 在保证稳定性的同时,是一个快速可靠的解决方案

  • 较小的模块很适用,如日历,联系人表单或小部件

不会React的同学不要着急,下面有Vue何Angular的,统统都有。如果你想学,小编也找到了很多原生教程,这是链接,不过前提是你最好英语不错。

2016年的王者

Vue.JS项目在去年的GitHub上获得了超过25,000颗星标,将包括React和Angular的其他框架甩在身后,一骑绝尘。

10月发布的Veu.JS的版本2,带来了虚拟DOM的性能。

Vue.JS用于大公司(包括阿里巴巴,中国最大的电子商务公司)的生产,所以你可以认为它是一个安全的选择。

它已经有一个相当成熟的生态系统,包括路由(vue-router)和状态管理库(Vuex)。

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

开发者满意度最高-React.js

澳门新浦京娱乐场网站 21

React.js JavaScript framework

React是由Facebook的Jordan Walke创建的,GitHub的最流行框架中排名第5。然而,React.js(以及React Native)最火爆的时间点是在2015年。

State of JS调查显示React的开发者满意度最高,达到92%。Vue跟它在同一个级别。根据调查,React的开发者较平均水平来说,在决定哪个技术配套使用前,会尝试多种其他技术组合。

戳这里看 40个最佳 react教程:

二. 前端框架

澳门新浦京娱乐场网站 22

Snip20170204_2.png

“前端框架”这一分类可能是2016年JavaScript最累的一个牌行榜,几乎每个月都会出现一个竞争者,但是,这推动了创新的步伐。

确切地说,在这个类别中混合了两种类型的项目:

  • 完整的框架包含了所有功能,能够创建一个现代的Web应用程序(路由、数据提取、状态管理)。AngularJS、Angular 2、Ember或Aurelia都属于这一类。

  • 更轻量级的解决方案专注于UI层,如React、Vue.JS、Inferno,等等。

我们已经提到了总体排名第一的Vue.JS,让我们看看其他竞争者。

随便挑5个React.js的特性说一下:

  • 框架只负责"View"层,这意味着其它业务逻辑是完全解耦的,并且能以任何方式来实现。

  • 与框架相关的Redux是一个非常棒的类Flux架构的实现。

  • 模板方面,框架可以使用JSX语法,这个语法在刚上手时可能会有一点点难度。

  • 开发者掌握React.js的知识后,可以直接用于基于React Native的移动客户端开发。

React对VirtualDOM的使用,以及由此获得的高性能广受开发者好评。经常使用框架的开发者也是这与这项技术相关的庞大社群的重要组成部分。React的快速发展,除了 Facebook的维护外,也要感谢开源项目以及第三方的模块。

此外,随着React将会有一个能够向后兼容的重写版React Fiber的消息放出,React的"第二春"很快就会到来。

对开发者来说,React的优势在于:

  • 庞大且活跃的社区

  • 并非一个大而全的框架

  • JSX这种新的JavaScript语法,也是一个不错的优点

  • 相关的开发工具也很不错

  • 强制使用最新的最佳实践

对客户来说,React的优势在于:

  • 大量的开发者熟悉这个框架

  • React Native使得Web应用的逻辑可以复用于移动客户端

  • 有足够多的使用和测试场景来保证框架本身几乎没有bug和错误

React及其竞争者

React总体排名第二,前端开发者没有谁可以忽略React及其丰富的生态系统。

React如此受欢迎,它激发了很多其他库,旨在采取最好的React,没有臃肿,提高在浏览器的性能和构建时间。

Inferno是这个类别中最受欢迎的项目,它声称是React最快的替代品。

在我们的排名中,紧跟Inferno之后,Preact也是React的一个不错的替代品。它的生态系统是相当成熟的,例如有一个具有离线功能的Bolierplates、路由、Compat模块,以便您可以使用Preact项目中的任何现有React库。

智慧长老-AngularJS

澳门新浦京娱乐场网站 23

AngularJS JavaScript framework

Google在2009年第一次发布了AngularJs框架,鼓励使用声明式编程方法去创建用户界面和连接各种组件,另一方面,指令式的编程用于实现程序的逻辑。

Brat Tech公司的Miško Hevery是这个技术的真正作者,当时,它被创建为在线JSON存储服务背后的软件。但是业务没有搞起来,所以公司放弃了这个想法,并将AngularJs作为一个开源库发布。

AngularJS使用双向数据绑定的方式,适配和扩展了传统的HTML来呈现动态内容。

所有这些可能听起来很有意思,事实是AngularJs已经有点老了
实际上。它是我们描述的框架里最老的了,大ReactJS4岁,Vue.js5岁,比Angular2年长了7岁之多。

尽管如此,他拥有Github上最多的贡献者(1,562个),随后是ReactJS,Angular2,Vue.js。

不可否认,AngularJS有一个陡峭的学习曲线,这个缺点在某种程度上被一个大型社区抵消,保证开发人员可能遇到的大多数问题存在解决方案。

二、Vue:2018年前端世界明星

Angular 1和Angular 2

Angular项目已经拆分为2个存储库,因为Angular 2是Angular 1的完全重写,即使一些概念保持不变。

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

AngularJS项目是1.x的分支,它在许多项目中仍然使用,并将继续流行一段时间。

值得一提的是,Ember虽然拥有庞大的生态系统,但它的社区并不在前十名。

因此看起来,与其选择“开箱即用”的所有功能的完整框架,2016年开发商更倾向轻量级的方案,并喜欢组成自己的方案——“点菜”。

在2016年调味的更轻的方法,并更喜欢组成自己的解决方案“点菜”。

随便说AngularJS的5个特性

  • 仍然有许多项目使用AngularJS,所以了解AngularJS方便你维护这些项目。

  • 为不想使用新的Angular或Ember.js的团队提供可行且稳定的解决方案。

  • 使用脏值检查(digest cycle);与观察者模式相比孰优孰劣取决于你的需求。

  • PlayStation 3上的YouTube应用是用AngularJS开发的。

  • 以HTML为中心。

AngularJS是SPA中最常用的JavaScript框架之一,也是企业级应用的一个很好的选择。但是它确实很老了,大多时候是被老旧的应用采用。

AngularJs对开发者来说的"优"点:

  • 在2017年,如果你还没有使用它,你完全可以忽略他了。

  • 如果您需要更多功能的话,请使用新的Angular或Ember。

AngularJS对用户来说的"优"点:

  • 主要维护尚未准备好或无法获得足够重写的旧应用。

  • 由于框架复杂性,创建更复杂应用的成本很高。

译者注:各种黑,我X

Vue在GitHub Stars中比 React 的星星增长还多,在2017年Vue迅速爆发之后,Vue在2018年继续增长。实际上,它甚至超过了React在GitHub上收到的星星数量

三. Node.js框架

澳门新浦京娱乐场网站 24

Snip20170204_3.png

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

  • Now

  • Webtask.io

  • Stdlib

像Gomix这样的项目甚至降低了Node.js世界的门槛,使得任何人都可以在浏览器中轻松点击几下来编写共享 Node.js代码。

如果你必须构建一个Web应用程序,你会选择哪个框架?

Angular2(或简称Angular)

澳门新浦京娱乐场网站 25

尽管在不挖掘源代码的前提下,很难完全了解Angular2的概念,它是一个非常强大的框架 内置了相当多的功能。

以AngularJS为基础,使用Typescript重写。与以前的版本相比,它没有scope或controllers的概念。相反,它使用组件层次结构化作为其主要架构概念。支持动态加载,改进了依赖注入,并提供更为简单的路由和异步模板编译机制。

澳门新浦京娱乐场网站 26

Express

当你使用node.js构建Web应用程序时,Express通常被视为事实上的Web服务器。它的哲学(一个可以使用中间件包扩展的简约核心)是大多数node.js开发人员熟悉的。

随便说Angular2的5个特性

  • 由TypeScript编写,允许开发人员使用TypeScript,Dart或纯粹的ECMAScript。

  • 组件的模式利用了TS类和装饰器。

  • 陡峭的学习曲线

  • 开发过程很快。

  • 高级的的测试特性。

基本上,Angular可以摆脱AngularJS中存在的不必要的复杂性。然而,许多人认为,即使用CLI,单个开发人员的配置和启动过程仍然可能太长。

我们的开发团队也不太喜欢提供文档,特别是对于JS和Dart。另一方面,他们又喜欢将技术分解成很多模块。

Angular对开发者的优点:

  • 你喜欢TypeScript就开心了

  • 强制规定编写代码的方式,使得它成为与多个开发人员合作的好选择

  • 使用同一个库开发移动和桌面应用

  • 对于具有很多代码的单页应用是个不错的解决方案

Angular对客户来说的优点:

  • 使用该框架构建企业应用可能会降低成本

  • 大量开发人员已经知道如何使用框架

不过,虽然Vue很受欢迎,但在实际使用中它仍然以React和Angular为后盾和体系支持。

Koa

Koa的哲学接近Express,但它是使用ES6生成器,以避免有时被称为回调地狱的问题。

有最好的 Javascript 框架这一说么?

想要一个简单的答案? 没有。这跟公司目标、需求、以及最终的功能都有关系。举例来说,Angular2更像是一个百宝箱,特别适合大型项目。它非常复杂,并且需要花很多时间来全面的学习和掌握(但比AngularJS要简单一些)。但使用以JavaScript为核心的React,开发者就能快速高效得拼凑出一些有用的东西。

每个框架都在以不同的方式以实现适合用于不同场景的Web应用开发,包括MVP、创业公司和商业场景。

因此你应该考虑找到这样一个人,他能帮你选择适用于开发并且能够跟得上业务发展需要的技术。

而我们恰好具备这样的能力。

Vue拥有一大批热情的用户群,而且还在不断增长,而且vue看起来将成为未来几年前端频繁使用的一个,其实更多的国人贡献超乎寻常的猛。

Feathers

Feathers是一个非常灵活的解决方案,创建一个“面向服务”的架构,它是一个很好的适合创建node.js微服务。

另外,Vue3.0 已经在拟定发布中了,更多的性能优化和提升,不要担心语法层面改变。

Nodal

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

澳门新浦京娱乐场网站 27

Keystone

Keystone是我所知得到一个管理客户端并运行得最好的解决方案之一,以便管理来自MongoDB数据库的内容。管理界面自动从模型生成,具有所有CRUD操作和精细的过滤器。

三、Angular继续亦步亦趋,发布v7版本

Sails

Sails是一个完整的MVC框架,受Ruby on Rails的启发(因此名为Sails!)。它已经存在了很长时间。它可以与任何类型的数据库(SQL或无SQL)良好工作。

10月,Angular在其流行的UI框架的第7版中又发布了另一个主要版本。从早期的AngularJS MVC架构到使用组件的更现代的Angular包,Angular已经有了大量的增长。

Loopback

Loopback是另一个成熟的框架,内置许多函数,包括使用令牌和到任何类型的数据库的连接器的认证。

它的杀手级功能是API浏览器功能,允许开发人员以直观的方式检查所有API端点,并能检查任何用户的令牌。如果你必须构建一个API,这绝对是一个不错的选择。

但据我调查和感受,由于angular的庞大性和系统性,国人用它的越来越少,老外到是依然情有独钟。

四. React Boilerplates

澳门新浦京娱乐场网站 28

Snip20170204_4.png

React是一个伟大的UI库,但使用React和现代Web开发工作流工具需要大量的配置。那么如何开始创建一个应用程序呢?

这是React的“Boilerplates”和其他“Starter Kits”提供的答案:

因为虽然Angular与React和Vue等框架没有相同的狂热粉丝,但它仍然是专业项目的热门选择。

Create React App

Facebook通过提供一个称为Create React App的轻量级方法来解决这个需求,这是一个非常方便的启动一个新的React项目。

Dan Abramov(Redux的创造者,现在为Facebook工作)做了一个伟大的工作,在简单性和功能找到了正确的平衡点。例如,没有花哨的样式解决方案(只是简单的CSS),没有服务器端渲染,但是所有的一切,都很好地打包了,开发人员的体验非常棒。

与其竞争者的主要区别是,如果使用Create React App,它将成为项目的依赖项,所有的魔法是隐藏的,你看到的只是你的应用程序代码。您可以随时升级依赖关系,它并非只是一个起点。

许多开发人员在使用React时都会感到疲劳,因为它需要工程师在管理构建管道的同时做出许多依赖关系和架构决策。而Vue虽然入门简单,但太过灵活和不成体系,对一些进阶比较困难。

React boilerplate

命名为React boilerplate具有您需要的一切,包括Redux和一些漂亮的离线功能,利用web workers技术。

它让开发人员创建所谓的渐进式Web应用程序(Progressive Web Applications,PWA):离线运行的Web应用程序,使用一种名为Service Worker的技术,请阅读NicolásBevacqua的文章。

另一方面,Angular是一个高度自以为是的完整框架,CLI管理所有构建步骤。专业环境的另一个好处是Angular需要TypeScript。Angular已经在Web开发世界中树立了独立的价值,并继续被采用,业界很多标准都是Angular第一个发明和采用的。

Next.js

Next.js由Zeit创建,具有可用于创建通用应用程序的服务器端呈现功能(或同构应用程序,如我们在2015年所说),也就是说客户端和服务器端运行的应用程序使用相同代码。

如果要学习Angular的戳这里:

五. Mobile

澳门新浦京娱乐场网站 29

Snip20170204_5.png

JavaScript无处不在,你可以使用技术Web开发人员已知的任何技术(HTML、JavaScript、CSS)构建移动应用程序。

另外放一个 三大前端法宝

React Native

使用React Native,你可以从相同的代码库使用React开发人员熟悉的概念构建iOS和Android真正的原生移动应用程序。要了解有关构建iOS和Android应用程序的更多信息,请阅读这本教程。

其他基于Cordova的解决方案,依靠WebView来渲染屏幕,并且不如原生解决方案那么高效。 “一次编写,随处运行”,这是开发人员的梦想成真!

澳门新浦京娱乐场网站 30澳门新浦京娱乐场网站 31

Ionic

Ionic是“混合”应用程序概念的先驱。在后台中,它基于Cordova访问移动设备功能。这是一个非常成熟的大型生态系统。

四、新技术和新概念

NativeScript

NativeScript旨在实现与React Native相同的目标(使用Web技术构建真正的移动应用程序)。它有两种种风格:NativeScript Core和NativeScript Angular 2。

1、GraphQL 、PWA 、WebAssembly

前瞻

在2017年密切关注的一个项目:Weex,一个构建在Vue.JS之上的移动跨平台UI框架。

GraphQL已被GitHub等技术领导者采用。然而,它并没有像一些预测的那样快速地起飞。

六. Compilers

澳门新浦京娱乐场网站 32

Snip20170204_6.png

我们在这里谈论生成任何语言(或JavaScript的任何变体)的JavaScript的编译器(或“transpilers”)。它们将代码转换为浏览器(或Node.js)可以执行的“标准JavaScript”代码。

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

据JS状态调查显示,只有1/5的前端开发人员使用过GraphQL,但是有惊人的62.5%的开发人员已经听说过它并希望使用它。

TypeScript

最时髦的转换器是TypeScript,它为Web开发人员提供了Java和C#开发人员使用的静态类型。事实上,Angular 2使用TypeScript增加了更多的牵引力。在JavaScript中使用类型有优缺点,阅读这些文章,使你自己的观点:

  • 你可能不需要TypeScript:https://medium.com/javascript-scene/you-might-not-need-typescript-or-static-types-aa7cb670a77b#.1pn05vlis

  • TypeScript:缺失的介绍:https://toddmotto.com/typescript-the-missing-introduction

因为这个以后,会越来越流行,只不过现在还不重要。

Babel

Babel与Webpack一起,几乎成为编译ES5代码和标准JavaScript中的库(如React(JSX))使用的模板的标准。最初创建用于编译ES6,它成为一个更通用的工具,可以完成任何代码转换,拜一个系统的插件所赐。

2、各种CLI工具封装

Flow

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

它在Facebook项目的代码源内使用。因为Facebook成为开源世界的主要角色之一(像React、React Native、Flux、Immutable、Jest等项目),这意味着很多。

众所周知,要跟上最新的库,正确配置应用程序并做出正确的架构决策,这可能会让人感到筋疲力尽。

CoffeeScript

多年来,CoffeeScript由于其精简语法(灵感来自Python和Ruby语法),成为最受欢迎的编译器,但它在2016年不太流行,很多开发人员从CoffeeScript迁移到ES6与Babel。

这种痛苦催生了管理工具的CLI包的创建,允许开发人员专注于应用程序和业务逻辑。

七. Build Tools

澳门新浦京娱乐场网站 33

Snip20170204_7.png

在2016年,很难想象一个没有任何构建过程的Web应用程序。通常需要一个构建过程来编译模板和优化资源,以便在生产环境中运行Web应用程序。

大家熟知和不熟知的 流行的框架包括 Next.js(SSR for React),Create-React-App,Nuxt.js(SSR for Vue),Vue CLI -side Vue),React Native的Expo CLI,默认情况下使用Angular

Webpack

Webpack是用于构建单页应用程序的主要工具,它与React生态系统一起使用。新发布的版本2带来了一些令人鼓舞的增强功能(查看这份介绍)。

3、静态站点话题 重新兴起

Gulp

Gulp是一个通用的任务运行器,可以用于涉及文件系统的任何类型的自动过程,因此它不是Webpack或Browserify的直接竞争者。

像Grunt一样,Gulp通过聚合工作:你可以要求它缩小和连接资源列表,但是它不会像Webpack或Browserify那样处理模块化JavaScript本身。

然而,它可以很好地与webpack一起工作,即使开发人员倾向于使用npm脚本。

随着JavaScript革命的发生,每个人都喜欢学习最新最好的语言框架,但现在事情已经解决,我们已经意识到并非每个网站都需要是一个复杂的单页面应用程序。

Browserify

Browserify由于其简单性,受到了node.js开发人员喜爱。

基本上,它需要几个node.js包作为输入,并为浏览器生成一个单一的“构建”文件作为输出。但是似乎一个更有见地的工具像Webpack是一个更好地适合Web应用程序工作流。

这导致了静态站点生成器的增长。

前瞻

2017年的模块捆绑包,强调性能:汇总(rollup)。

它使用ES6模块与一个称为树摇动(Tree shaking)功能创建捆绑包,只包括您在代码中使用的功能,而不是搬运完整的库。

这些工具允许你在你喜欢的库中编写代码,例如React或Vue,但在构建期间生成静态HTML文件,允许我们立即向用户提供完全构建的页面。

八. Testing Frameworks

澳门新浦京娱乐场网站 34

Snip20170204_8.png

最著名的两个测试框架是Jasmine和Mocha,但最近的两个项目在2016年有更多的牵引力:AVA和Jest。

静态站点非常适合构建个人网站或博客,但它们可以轻松扩展到更大的应用程序。我们已经看到了用于构建静态网站的流行框架的兴起,例如Gatsby和React Static for React应用程序,以及VuePress for Vue应用程序。

AVA

AVA,由多产的Sindre Sorhus创建的强调性能(并行测试)和ES6。 AVA的语法接近标准测试框架,如Tape和Node-tap。

事实上,静态网站已经变得如此受欢迎,以至于盖茨比实际上已经组建了一家公司,并在去年的开源框架中获得了风险投资资金。

Jest

Jest,另一个Facebook项目,在过去的几周里得到了很大的牵引力。它在React社区中是众所周知的,越来越多的人转向Jest(阅读这篇故事来了解),它可能成为2017年最流行的测试框架。

Jest有内置的良好的模拟能力,而其他测试框架通常依赖于像Sinon.JS这样的库。

** 4、TypeScript可能是JavaScript的未来**

九. IDE

澳门新浦京娱乐场网站 35

Snip20170204_9.png

关于IDE(Integrated Development Environment,集成开发环境),值得一提的是,两个最流行的IDE是使用Web技术开发的开源项目。

JavaScript因没有静态类型变量而受到批评。试图纠正这个问题的两个主要库是TypeScript和Flow,但TypeScript看起来是最受欢迎的。

Visual Studio Code

在我们的结果中,Microsoft凭借Visual Studio Code遥遥领先。

它提供了一个与澳门新浦京娱乐场网站:二零一五年JavaScript领域中最受应接的,大家对流行JavaScript框架们的抉择。TypeScript和node.js的很好的集成。一些开发人员提到关于开发速度,很感谢IntelliSense功能(高亮和自动完成的混合)。

在同一句话中提到“开源”和“微软”不再矛盾了!

事实上,在Stack Overflow调查中,TypeScript的评分高于JavaScript本身,为67%,而最受喜爱的语言为61.9%。

Atom

Atom是由Github推动的、并且由Electron构建(像其他一些桌面应用程序,包括Slack桌面客户端),并非远远落后Visual Studio Code。关于Atom的一个有趣的事实:它的主要语言是CoffeeScript!

根据JS的状态调查,超过80%的开发人员希望使用TS或已经使用它并享受它。对于Flow,只有34%的开发人员正在使用它或想要使用它。

十. Static Site Generators

澳门新浦京娱乐场网站 36

Snip20170204_10.png

静态网站生成器(Static site generators,SSG)是生成一系列HTML、.CSS和JavaScript文件的工具,您可以在任何简单的Web服务器(Apache或NGNX)上部署,而不必大惊小怪,或者设置数据库或任何网络框架。正如Gatsby网站所说:

就像1995年那样建立网站。

静态网站具备快速性、鲁棒性和易维护性。

SSG非常受欢迎,因为有很多很好的解决方案来主持静态网站免费:

  • Github pages

  • Gitlab pages

  • Netlify

  • Surge

  • Now static

根据所有迹象,TypeScript是JS中静态类型的首选解决方案,许多人选择使用普通的JavaScript。在2018年,TS的npm下载数量大幅增长,而Flow保持不变。

Hexo

在2016年,使用node.js构建的最流行的SSG是Hexo。它是一个彻底的SSG,接近CMS系统,可用于构建一个博客,如Wordpress。它有很多功能,包括国际化插件。

澳门新浦京娱乐场网站 37澳门新浦京娱乐场网站 38

Gatsby

新来的Gatsby是一个非常有趣的解决方案,它从竞争对手脱颖而出,因为它使用React生态系统来生成静态html文件。事实上,您可以组合React组件,Markdown文件和服务器端渲染使它非常强大。

不管承不承认,TS已经成为流行了,唉,又学不到了吧?

2016 总结

尽管存在JavaScript疲劳™和戏剧(记住“左键门”),但对于社区而言,随着像Vue.JS和React Native项目的兴起,以及像Yarn或Creat React App的新项目,2016年仍然不啻为一个伟大的年份。

我们一直在谈论的项目,2016年在GitHub得到了吸晴,但真正重要的是开发者的满意度。所以,如果你想要一个更定性的方法,上Sacha Greif查看JavaScript调查的结果,它收集了超过9,000的反馈。


以下是JS.ORG的年度十大选择,以及JS.ORG的想法:

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

  • Electron

  • Create React App

  • React Native

  • Gatsby

  • Yarn: 一个快速,可靠和安全的依赖管理,可以取代npm,点此处了解Node.js包管理器的状态。

  • 渐进式Web应用程序。

  • Node.js微服务使用像Now这样的托管解决方案很容易部署。

  • Node.js的演变:最新版本对ES6语法提供良好的支持。

  • 还有一个选择是GraphQL:据JS.ORG了解,GraphQL将有大动作。

<recommend image="" title="蘑菇街前后端分离实践" link=";

5、Webpack 又发布新版本

视野拓展

QCon是由InfoQ主办的全球顶级技术盛会,每年在伦敦、北京、东京、纽约、圣保罗、上海、旧金山召开。扫描下图二维码,了解更多信息。

澳门新浦京娱乐场网站 39

QCon北京2017将于4月16日~18日在北京·国家会议中心举行,精心设计了支撑海量业务的互联网架构、大规模网关系统、微服务实践、快速进化的容器生态、智能化运维、互联网广告系统实践、大数据实时计算与流处理和金融科技转型与未来等30来个专题,涵盖架构、大数据、云计算、移动、前端、人工智能等热点领域,将邀请来自Google、Facebook、阿里巴巴、腾讯、百度、美团点评、爱奇艺等典型互联网公司的技术专家,分享技术领域最新成果。敬请期待。

Webpack 3发布仅8个月后,版本4发布了。Webpack 4继续推动简化和更快的构建,声称高达98%的改进。它选择合理的默认值,在没有插件的情况下处理更多功能,并且不再需要使用配置文件。Webpack现在还支持WebAssembly并允许您import直接使用WebAssembly文件。

前端之巅

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

澳门新浦京娱乐场网站 40

6、编辑器话题 VScode成为新霸主

一张图足够了,不过我依然是 sublime text 先行。

澳门新浦京娱乐场网站 41

五、预测、展望 2019

2019的大方向展望,从这几点学准没错。

随着基础的到位和不断推动改进的Web体验,WebAssembly将开始看到更多的应用。

React保持领先,但Vue和Angular继续在用户中增长。

CSS-in-JS可能会成为默认的样式方法而不是纯CSS。

可能是开发人员再看看本机Web组件吗?

毫不奇怪,性能仍然是一个焦点,诸如PWA和代码分割之类的东西成为每个应用程序的标准。

在PWA采用的基础上,网络变得更加原生,具有离线功能和无缝的桌面/移动体验。

我们继续看到CLI工具和框架的增长继续抽象到构建应用程序的繁琐方面,允许开发人员专注于生成功能。

越来越多的公司采用具有统一代码库的移动解决方案,如React Native或Flutter。

集装箱、CLI化(即Docker,Kubernetes)的影响在前端过程中变得更加普遍。

GraphQL在采用方面实现了飞跃,并在更多公司中得到应用。

TypeScript开始成为标准JavaScript的默认选择。

虚拟现实使用A-Frame,React VR和Google VR等框架向前迈进。

自己是从事了五年的前端工程师,年初我花了一个多月的时间整理出来的学习资料,希望能帮助那些想学习前端,却又不知道怎么开始学习的朋友。

这里推荐一下我的前端学习交流群:731771211,里面都是学习前端的从最基础的HTML CSS JS【炫酷特效,游戏,插件封装,设计模式】到移动端HTML5的项目实战的学习资料都有整理,送给每一位前端小伙伴。2019最新技术,与企业需求同步。好友都在里面学习交流,每天都会有大牛定时讲解前端技术!

点击:加入

本文由澳门新浦京娱乐场网站发布于新浦京娱乐场官网,转载请注明出处:澳门新浦京娱乐场网站:二零一五年JavaScript领域