2017 JavaScript 调查报告概述

本文转载自极光日报知乎专栏,地址:https://zhuanlan.zhihu.com/p/32260460


简评:最近一份超过 23,000 名开发者参与的关于 JavaScript 的调查报告 - the State of JavaScript 2017 出炉了。内容包含框架的流行趋势、薪资水平等等,感兴趣的同学可以点击链接阅读完整内容。


这里介绍下作者从其中得出的十个观点。

1:React 已经被广泛认可

因为巨大的用户数量和很高的开发人员满意度,至少目前可以说 React 是位于在山顶的那一个。而在 Facebook 解决了 React 的许可证问题后,React 度过了今年最大的一次危机。

React 有着最多的满意用户(深紫色)

2:正在转变角色的 Angular

虽然目前 React 略占上风,但我们也不能忽略 Angular。

首先,Angular 的背后是 Google,有着可能是业内最好的全职工程师在进行开发和维护。并且,Angular 仍然有着庞大的用户群,例如银行、政府、和其他大型机构。

最后可能也是最重要的一点:目前 Angular 并不试图和 React 进行直接的对抗,而是重新关注企业市场。Angular 对于 TypeScript 的使用部分原因也是为了保证企业应用所需的可靠性和安全性。

3:不容忽视的 Vue.js

虽然现在 Vue 还没有 React 和 Angular 那样的用户群体,但也不容忽视。调查显示,Vue 和 React 目前有着最高的开发者满意度。

Vue & React:两者有着最高的开发者满意度(浅紫色/深紫色)

4:了解一些库的知识能帮你挣得更多

JavaScript「方言」,平均薪资从低(左)到高(右)
JavaScript 前端库,平均薪资从低(左)到高(右)


不过,在你决定周末要学什么新技术之前,要记住,关联不等于因果关系。

虽然,看起来 Polymer 的使用者能获得更多的收入,但有可能是因为高级开发人员(本身已经有较高的收入)倾向于尝试更多样化的技术,而初级开发者则更倾向专注于一两种主流技术。

5:2018 可能会是 GraphQL 的一年


在所有调查的技术里,GraphQL 是最受欢迎的,尽管目前用户数量还比较少。但即使在不多的用户里,他们对 GraphQL 也是非常满意的。这种高兴趣和高满意度的结合,如果 2018 年 GraphQL 成长为主流技术,你可不要觉得惊讶。

深黄色显示有 14k 对 GraphQL 感兴趣的开发者

6:JavaScript != 前端

我们都知道 JavaScript 现在早已不局限于仅在浏览器中使用了。毕竟,Node 现在也是很流行的后端技术。

但在 2017,JavaScript 版图扩张的更大了:更多的移动应用开发、AWS Lambda 能让你无服务器编写后端代码、甚至今年最流行的 VS Code 本身就是用 JavaScript 编写的。

而在物联网领域,JavaScript 也在被广泛应用。

7:微软正在反击

说到 VS Code,绝对是文本编辑器领域最大的惊喜。之前还是 Sublime Text 和 Atom 正在两强争霸,但新人 VSCode 却从窗子进来,偷走了它们的午餐。

VS Code


虽然 VS Code 和 Atom 类似是 Electron 应用,但微软在提高性能方面下了很多的功夫。并且也同样支持大量的自定义插件。

再加上 TypeScript 的兴起,看起来微软在 web 开发领域的发力还是很成功的。

8:世界各地的 JavaScript 流行各有不同

当我们在讨论 JavaScript 生态的时候总是倾向于将其作为一个整体,但各个国家和地区其实还是有着自己的趋势,就像 Vue 在中国和 Angular 在印度。

9:强类型 JavaScript 正在兴起

TypeScript,GraphQL,Elm,Reason 的一个共同点就是都是强类型的。

虽然长久以来 JavaScript 开发人员都在享受编码时编译器不会对你大喊大叫的自由,但这种自由也是一把双刃剑。

在 2017 年事情起了变化,像 TypeScript 这样的强类型方言开始被广泛的采用。开发人员也更倾向于使用 VS Code 或者 IDE,以更好的利用强类型带来的好处。

10:JavaScript 在朝正确的方向发展

现在 JavaScript 的生态已经变得如此的丰富和壮大。在经过多年对于 JavaScript 的争论之后,开发社区似乎终于找到了第三条路:改进它。

尽管 JavaScript 目前还是存在缺陷,但大多数的开发人员仍然认为其在朝着正确的方向发展。

原文:I just asked 23,000 developers what they think of JavaScript. Here’s what I learned.


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525699.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql rpm 安装多实例_MySQL搭建系列之多实例

所谓多实例。就是在一台server上搭建、执行多个MySQL实例,每一个实例使用不同的服务port。通过不同的socket监听;物理上,每一个实例拥有独立的參数配置文件及数据库。通常情况下。一台server是不建议执行多个MySQL实例的。尤其是生产环境&…

python动态_python --动态类型

动态类型(dynamic typing)是Python另一个重要的核心概念。我们之前说过,Python的变量(variable)不需要声明,而在赋值时,变量可以重新赋值为任意值。这些都与动态类型的概念相关。动态类型在我们接触的对象中,有一类特殊的对象&…

微博热点事件背后数据库运维的“功守道”

作者 | 张冬洪责编 | 仲培艺【导语】 微博拥有超过3.76亿月活用户,是当前社会热点事件传播的主要平台。而热点事件往往具有不可预测性和突发性,较短时间内可能带来流量的翻倍增长,甚至更大。如何快速应对突发流量的冲击,确保线上服…

sql devalop连接mysql_SQL-Mysql表结构操作

一 前言本篇内容是关于 基本的数据库操作,建表,表结构修改等内容;学习本篇的基础是知识追寻者以前发布的文章:公众号:知识追寻者知识追寻者(Inheriting the spirit of open source, Spreading technology knowledge;)二…

云计算平台2017年盘点——真正成为新技术新应用的基础架构

作者简介:吴凯,北京云途腾科技有限责任公司首席运营官,具有20年的IT和软件服务行业管理经验,历任多家著名外资及民营IT企业的核心高级管理职位,是中国云计算专家委员会专家委员,中国开源云联盟及云计算开源…

oracle表复制为mysql表_oracle 将数据库的表复制到另一个数据库表内

将数据库A中的表sys_role复制到数据库B中在数据库b中的SQL工作表写如下代码:第一步:建立链接CREATE database link A //数据库名称CONNECT to text //用户名IDENTIFIED by "123456" //密码using (DESCRIPTION(ADDRESS (PROTOCOL TCP)(HO…

php mysql增修删_PHP mysql PDO增、删、查、改

1 建立连接<?php $dbhnewPDO(mysql:hostlocalhost;port3306; dbnametest,$user,$pass,array(PDO::ATTR_PERSISTENT>true));?>持久性链接PDO::ATTR_PERSISTENT>true2. 捕捉错误<?php try{$dbhnewPDO(mysql:hostlocalhost;dbnametest,$user,$pass);$dbh->se…

Spark SQL在100TB上的自适应执行实践

作者&#xff1a;汪愈舟 俞育才 郭晨钊 程浩&#xff08;英特尔&#xff09;&#xff0c;李元健&#xff08;百度&#xff09;责编&#xff1a;钱曙光&#xff08;qianshgcsdn.net&#xff09;Spark SQL是Apache Spark最广泛使用的一个组件&#xff0c;它提供了非常友好的…

中国大学慕课python答案第七章_中国大学慕课用Python玩转数据章节测试答案

[名词解释] 离子泵ionpump[名词解释] 主要吸收[养分] active uptake [ nutrient][名词解释] 质流[养分] mass flow [ nutrition][名词解释] 离子载体 ionophor[名词解释] 相对蒸腾[名词解释] 肥料最大效率期 maximum efficiency stage of fertilization[名词解释] 短距离运输 s…

分包组包 北斗通信_蓝牙mesh底层传输层(分包和组包)

当传输大于15字节的上层传输层PDU时&#xff0c;底层传输层就需要对上层传输层PDU进行分包并重新组包为了减少底层传输层包的数量&#xff0c;这里使用块应答机制。问题&#xff1a;怎么通过块应答机制减少底层传输层包的数量&#xff1f;上层传输层需要分成两个底层传输层PDU的…

别人在忙挖矿,京东架构师却悄悄用区块链搞了件大事

作者介绍&#xff1a; 赵铭&#xff0c;京东商城区块链研发工程师&#xff0c; 主要从事区块链底层研究设计工作&#xff0c;主攻方向为分布式账本结构&#xff1b; 孙海波&#xff0c;目前担任京东Y事业部供应链研发负责人&#xff0c;负责的业务包括订单履约、库存优化、采购…

用sklearn mysql_Sklearn之Linear Regression

import matplotlib.pyplot as pltimport numpy as npfrom sklearn import datasets, linear_modelfrom sklearn.metrics import mean_squared_error, r2_score# 加载糖尿病数据集diabetes datasets.load_diabetes()# 只使用一个特征diabetes_X diabetes.data[:, np.newaxis, …

mysql从服务器配置_mysql主从服务器配置基础教程

环境&#xff1a;A、B的MySQL数据库版本同为5.0.45-community-ntA&#xff1a;操作系统&#xff1a;Windows xpIP地址&#xff1a;192.168.18.110B&#xff1a;操作系统&#xff1a;Windows xp的IP地址&#xff1a;192.168.18.107配置过程&#xff1a;1、在A的数据库中建立一个…

2017年30个惊艳的Python开源项目

【摘要】本文来自Mybridge&#xff0c;介绍了过去一年里30个惊艳的Python开源项目。点击阅读原文每一个都可以在GitHub上看到更为详细的内容。以下是译文。在过去的一年里&#xff0c;Mybridge AI 比较了近15000个开源Python项目&#xff0c;选择了前30名&#xff08;概率只有0…

mycloud php5 mysql_mycloud 刷debian乐趣之-owncloud 私有云+芒果云的安装

既然刷了debian了&#xff0c;那么就可以安装很多软件了。这篇文章&#xff0c;我打算讲讲大众化的最初始的配置方案。具体后续优化&#xff0c;例如memcached,https等&#xff0c;可以参考官方文档。第一步、安装apache,#当然&#xff0c;你如果喜欢nginx&#xff0c;也可以的…

java 错误 代码_Java错误代码及异常处理

现在有个项目&#xff0c;遇到错误代码和异常处理方面的问题&#xff0c;请教各位高手。背景&#xff1a;项目对外提供服务&#xff0c;这些服务是对很多外部系统提供服务的封装&#xff0c;每个外部系统有自己的错误代码&#xff0c;没有统一的规范。有些外部系统自己规范都不…

关于区块链,程序员需要了解什么

作者 | 曹严明如果说比特币是对传统货币的一种颠覆&#xff0c;那么比特币的基础技术——区块链则是对传统编程范式的一种颠覆。区块链技术被看作是一次Paradigm Shift。也许很多人对 “颠覆”这种说法不以为然&#xff0c;因为现在这个词已经被用滥了&#xff08;如今哪个好一…

java两个矩阵相乘_java计算两个n阶矩阵相乘

自己是个新手&#xff0c;研究java数据结构&#xff0c;看到两个n阶矩阵相乘的题目&#xff0c;自己就试着写了一个简单的demo&#xff0c;哪里有不好的地方&#xff0c;也希望大家多提提意见&#xff0c;直接上代码了&#xff1a;package com.shujujiegou01;public class JuZh…

java annotation list_java-注解annotation

package cd.itcast.day2;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.List;/*** 注解** 注解的使用构成&#xff1a; 1&#xff0c;注解的申明 2&#xff0c;在类型(代码)上面打上注解 3&…

java 关联表做修改_java-图关联列表实现

我知道我也许正在从死里复生一个老问题,但是我觉得应该发表评论.您可以创建关联列表图形结构,也可以针对图进行调整.考虑LinkedList< Vertex>.对象和LinkedList< Edge>.宾语.这将使您可以遍历所有边缘和所有顶点,但不包含有关所有对象如何连接的信息.假设我们添加了…