国外的网站stateofjs.com根据超过九千位开发人员的问卷调查,发布了2016年JavaScript的年度概况报名。
注:本文翻译的部分可能存在不准确的情况,请以原文为准。

调查结果的报告目录结构如下:

  • 简介
  • JavaScript风格
  • 前端框架
  • 状态管理
  • API层
  • 全栈框架
  • 测试框架
  • CSS工具
  • 构建工具
  • 移动框架
  • 特性
  • 意见/评价
  • 开发者的资料
  • 总结

简介

现在的JavaScript是一个现代的、可靠的语言,还是臃肿、过于复杂的依赖地狱。还是二者都有?

而且还有很多的其它问题:使用React 还是 Angular 2?你真的需要Webpack吗?这个月的建议是该如何处理CSS呢?

正是因为大家都有同样的疑问,所以就有人搞了一个调查,如果你也想尽快知晓明年的调查结果,可以访问#介绍页面#然后输入你的邮箱进行订阅。

JavaScript风格

本节摘要:

  • ES6是新的标准
  • CoffeeScript已经成为过去时了
  • 新的JavaScript风格即将到来

流行度: ES6 > TypeScript > CoffeeScript

ElmClojureScript 有自己各自一套的生态系统,很难在现有应用中直接使用它们。

技术选型方面:
ES6 + React + Redux + Mocha + Webpack
TypeScript + Angular 2

前端框架

本节摘要:

  • 你不能错过React
  • Vue是发展非常快的未来之星
  • Angular 2 > Angular

流行度:
React > Angular / Angular 2 > Backbone > Vue > Ember

技术选型方面:
React + ES6 + Redux + Mocha + Enzyme + Webpack + React Native
Angular 2 + TypeScript + MEAN

其它前端框架

API层

本节摘要:

  • GraphQL 看上去很有前景
  • REST APIs仍旧是默认的标准,大幅度领先

流行度:
REST API > GraphQL

技术选型方面:
GraphQL + Relay + Apollo + React Native

全栈框架

本节摘要:

  • 该类别Meteor主导
  • ‘all in one’模式并不受欢迎

流行度:
Meteor > MEAN MongoDB + Express + AngularJS (2) + Node.js > MERN MongoDB + Express + React + Redux + Node.js + Webpack

测试框架

本节摘要:

  • Mocha 和 Jasmine 领先
  • 总的来讲,开发人员对JavaScript测试并不满意

CSS工具

本节摘要:

  • SASS/SCSS 是主导框架
  • CSS 模块化可能是一个值得研究的方向

技术选型方面:
SASS/SCSS + Gulp

构建工具

本节摘要:

  • Webpack 和 Gulp 前景闪耀
  • Grunt可能会过时

移动框架

本节摘要:

  • Native 应用还是最常用的解决方案
  • React Native初露头角

流行度:
Native Apps > Cordova > PhoneGap > React Native(发展迅速,感兴趣想学的人最多)

其它移动开发框架:

特性

  • 服务端渲染
  • 代码拆分
  • 增量更新,优先使用本地缓存策略
  • 模块热更新
  • 时间旅行调试
  • 实时操作
  • 死代码消除
  • 渐近增强
  • 评分最高的几个特性
    Code Splitting > Dead Code Elimination > Hot Module Reloading > Real-Time Operations > Server-Side Rendering > Progressive Enhancement > Optimistic Updates > Time-Travel Debugging

其它特性:

  • 离线使用
  • Workers服务
  • 静态类型系统
  • 易用性
  • 同构模式

意见/评价

  • 现在构建JavaScript太过复杂
  • JavaScript只是一个工具,并没有被过度的使用
  • JavaScript生态系统发展太快
  • 越来越多的人将JavaScript变成自己主要的编程语言
  • JavaScript正朝着正确的方向在发展

开发者的资料

开发者最喜爱的文本编辑器:
Sublime Text > Atom > Webstorm > Vim > VS Code > Emacs > Notepad++ > Brackets > PHPStorm > Textmate

总结(略)

========================
stackoverflow.com也放出了2016开发者调查报告>>
从年龄、性别、工作年限、最喜欢的语言、最讨厌的语言、不同语言的薪酬等等

JavaScript 2016年的概况的更多相关文章

  1. Javascript学习笔记

    Javascript 2016年12月19日整理 JS基础 Chapter1 JS是一门运行在浏览器客户端的脚本编程语言,前台语言 组成部分 1. ECMAscript JS标准 2. DOM 通过J ...

  2. bootstrap 简易模版

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  3. OOP面向对象编程(下)

    我们怎么去模拟重载,在javasceipr中我们可以通过参数的类型区别或者数量的区别,来去让同样一个函数名字,可以根据不同的参数列表的情况来去调用相应的函数. javascript中函数类型是不确定的 ...

  4. koa中静态文件资源中间件实现

    项目实践过程中,会使用非常多的静态资源,怎样可以直接在浏览器中访问到这些静态资源 const fs = require('fs'); const path = require('path'); mod ...

  5. ASP.NET动态网站制作(4)--css(3)

    前言:这节课主要运用前面所学的知识写三个例子,并且学习浏览器兼容性的解决方法. 内容: 例子1:一个关于列表的例子 html代码: <!DOCTYPE html PUBLIC "-// ...

  6. 从web现状谈及前端性能优化

    从web现状谈及性能优化 原文出处:<Karolina Szczur: The State of the Web> 性能优化指南The Internet is growing expone ...

  7. 在 2016 年学 JavaScript 是一种什么样的体验?

    转 译者:方应杭 嘿,我最近接到一个 Web 项目,不过老实说,我这两年没怎么接触 Web 编程,听说 Web 技术已经发生了一些变化.听说你是这里对新技术最了解的 Web 开发工程师? 准确地说,我 ...

  8. 2016年31款轻量高效的开源JavaScript插件和库

    目前有很多网站设计师和开发者喜欢使用由JavaScript开发的插件和库,但同时面临一个苦恼的问题:它们中的大多数实在是太累赘而且常常降低网站的性能.其实,其中也有不少轻量级的插件和库,它们不仅轻巧有 ...

  9. 2016年度 JavaScript 展望(下)

    [编者按]本文作者为资深 Web 开发者 TJ VanToll, TJ 专注于移动端 Web 应用及其性能,是<jQuery UI 实践> 一书的作者. 本文系 OneAPM 工程师编译呈 ...

随机推荐

  1. 杀死你网站SEO的5个技术

    胡亮亮先生(网迈SEO总监)在其微信公众帐号里发布了文章<杀死你网站SEO的5个技术>,发出来给大家分享一下: 应百度站长平台邀请,抽空把这篇文章做一些细节上的补充 ,欢迎大家关注并讨论. ...

  2. 使用事件等待句柄EventWaitHandler 实现生产者、消费者队列

    using System; using System.Threading; using System.Collections.Generic; class ProducerConsumerQueue ...

  3. VB6.0和VB.Net的函数等对照表

    VB6.0和VB.Net的对照表 VB6.0 VB.NET AddItem Object名.AddItem Object名.Items.Add ListBox1.Items.Add ComboBox1 ...

  4. Android 6.0 新功能及主要 API 变更

    运行时权限 这个版本中引入了新的权限模型,现在用户可以在运行时直接管理应用程序的权限.这个模型基于用户对权限控制的更多可见性,同时为应用程序的开发者提供更流畅的应用安装和自动升级.用户可以为已安装的每 ...

  5. git flow的安装和使用

    确保安装了git 1.windows系统下安装 进入cmd clone github上的gitflow到一个文件夹下 我这里clone到 c:\gitflow git clone git://gith ...

  6. JSONP跨域数据调用

    引自:http://kb.cnblogs.com/page/139725/ Web页面上调用js文件时则不受是否跨域的影响(不仅如此,我们还发现凡是拥有”src”这个属性的标签都拥有跨域的能力,比如& ...

  7. QT--以共享的方式发布应用,QT依赖库

    Building Qt as a Shared Library 因为:QT基本上都是采用动态编译的(被安装的OS中的),(如安装包往往都是默认动态编译处理好的动态库),所以我们采用动态连接的方式进行发 ...

  8. 从0开始学Swift笔记整理(二)

    这是跟在上一篇博文后续内容: --函数中参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以引用方 ...

  9. Dynamic CRM 2013学习笔记(四十五)修改实体及字段的前缀(不用new_开头)

    最近做一个升级的CRM项目,为了区分哪些是新增的,所以决定用一个新的前缀来定义实体及新加的字段.之前用的是new_开头,现在改成tm_开头.   原来只要是新建实体或字段都是new_开头:   1. ...

  10. [转发]UML类图符号 各种关系说明以及举例

    UML中描述对象和类之间相互关系的方式包括:依赖(Dependency),关联(Association),聚合(Aggregation),组合(Composition),泛化(Generalizati ...