国外的网站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. mormot orm rest注意事项

    mORMot创建ORM RestFul,当CreateMissingTables的时候报错,搜了n多资料没搞定,后来胡乱建了个表测试了一通搞定了. ORM对应的每个数据表都需要一个ID字段并设置主键, ...

  2. CPU的内部架构和工作原理

    一直以来,总以为CPU内部真是如当年学习<计算机组成原理>时书上所介绍的那样,是各种逻辑门器件的组合.当看到纳米技术时就想,真的可以把那些器件做的那么小么?直到看了Intel CPU制作流 ...

  3. uglifyjs压缩JS的

    一.故事总有其背景 年末将至,很多闲适的时间,于是刷刷微博,接触各种纷杂的信息——美其名曰“学习”.运气不错,遇到了一个新名词,uglifyjs. 据说是用来压缩JS文件的,据说还能优化JS,据说是基 ...

  4. 怎样按xc或yc转正视图

    extern void create_view(void) { tag_t wcs_id,matrix_id; double mtx[9],wcs_pt[3]; double x_axis[3]={1 ...

  5. 实战录 | 基于openflow协议的抓包分析

    <实战录>导语 云端卫士<实战录>栏目定期会向粉丝朋友们分享一些在开发运维中的经验和技巧,希望对于关注我们的朋友有所裨益.本期分享人为云端卫士安全SDN工程师宋飞虎,将带来基于 ...

  6. 【java】:通用接口

    电商接口 京东获取单个商品价格接口: http://p.3.cn/prices/mgets?skuIds=J_商品ID&type=1 用例 ps:商品ID这么获取:http://item.jd ...

  7. 【Map】MapTest

    package cn.itcast.p1.map.test; import java.util.HashMap; import java.util.Map; public class MapTest2 ...

  8. [Chapter 3 Process]Practice 3.3 Discuss three major complications that concurrent processing adds to an operating system.

    3.3  Original version of Apple's mobile iOS operating system provied no means of concurrent processi ...

  9. 6、UITableView表的分割线左对齐

    //分割线左对齐 -(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtI ...

  10. centos 安装flash插件

    方法一: 1.选择合适的yum源http://get.adobe.com/cn/flashplayer/进入此网址选择 “YUM,适用于Linux(YUM)”,下载adobe源http://101.9 ...