如何建立个人免费网站建站:JavaScript 为何是最受欢迎的编程言语
本文摘要: 为了深化剖析2019年 JavaScript 的开展状况,我们从以下几个方面针对 JavaScript 开展了问卷调查:言语特征可以编译成JavaScript的言语前端框架数据层后台框架测试跨移动与桌面开发的东西其他东西开发人员全体的观点合计21,717名
为了深化剖析2019年 JavaScript 的开展状况,我们从以下几个方面针对 JavaScript 开展了问卷调查:

言语特征

可以编译成JavaScript的言语

前端框架

数据层

后台框架

测试

跨移动与桌面开发的东西

其他东西

开发人员全体的观点


合计21,717名开发人员参加了此次问卷调查。这些开发人员来自不同的国度,薪资、开发经历、地点公司规模、性别、职位等各个方面的差异性也很大:

国家:美国、加拿大、俄罗斯、法国、德国、巴西、澳大利亚等

薪资:0-20万美元+

开发经历:0-20年+

公司规模:1-1000人+

职位:全栈开发、前端开发、Web开发、后台开发等



概述

在深化分析之前,让我们先来看一看2019年 JavaScript 生态体系的全面概述!

2016-2019年间各项技能和框架的开展曲线


上图中每条线代表一种言语或框架在2016-2019年间的开展曲线。纵向越高代表使用这项技能的人越多,而横向越靠右代表想学习这项技能的人越多。

满意度与使用状况


上图显示了每种技能的用户满意度。大致可分为以下四个象限:

评价:低使用率,高满意度。代表值得重视的技能。

选用:高使用率,高满意度。代表可安全选用的技能。

回避:低使用率,低满意度。代表现在应防止的技能。

分析:高使用率,低满意度。 假如你正在使用该技能,请从头评价。


言语特征

JavaScript 作为一种编程言语,最值得令人欣喜的事情就是它一直在不断的开展中。从箭头函数到解构,在以前的几年中 JavaScript 增添了许多要害功用,且已成为我们编写代码时不可或缺的一部分。

下面我们将从语法、言语、数据结构、阅读器API以及其他方面深化分析 JavaScript 编程。

使用状况概述


上图显示了 JavaScript 各个类其他功用的使用状况。

外圈代表了解该功用的用户总数,内圈则代表实践使用过该功用的用户。

语法

1. 解构(destructuring)

一种 Javascript 表达式, 可以将属性/值从对象/数组中取出,赋值给其他变量。

85.1%的用户曾使用过,8.4%的用户有所了解但未曾使用,6.5%的用户未曾传闻过。

2. 打开语法(spread syntax)

可以在函数调用/数组构造时, 将数组表达式或者string在语法层面打开;还可以在构造字面量对象时, 将对象表达式按key-value的方式打开。

89.5%的用户曾使用过,7.5%的用户有所了解但未曾使用,3%的用户未曾传闻过。

3. 箭头函数(Arrow Function)

箭头函数表达式的语法比函数表达式更简洁,并且没有自己的this,arguments,super或new.target。这些函数表达式更适用于那些本来需要匿名函数的当地,并且它们不能用作构造函数。

97%的用户曾使用过,2.2%的用户有所了解但未曾使用,0.8%的用户未曾传闻过。


言语

1. Proxy 对象

Proxy 对象用于界说根本操作的自界说行为(如属性查找,赋值,枚举,函数调用等)。

17.3%的用户曾使用过,39.7%的用户有所了解但未曾使用,43%的用户未曾传闻过。

2. Async/Await

async function 用来界说一个返回 AsyncFunction 对象的异步函数。

88.4%的用户曾使用过,10.7%的用户有所了解但未曾使用,0.9%的用户未曾传闻过。

3. Promise

Promise 对象用于表明一个异步操作的最终完成 (或失败),及其成果值。

93.8%的用户曾使用过,5.2%的用户有所了解但未曾使用,1%的用户未曾传闻过。

4. 装饰器(Decorator)

简略来说,装饰器是将一段代码与另外一段代码包装在一同的一种方式。

37.9%的用户曾使用过,37.4%的用户有所了解但未曾使用,24.7%的用户未曾传闻过。?

数据结构

1. Map

Map 对象保存键值对。任何值(对象或者原始值) 都可以作为一个键或一个值。

70.6%的用户曾使用过,23.5%的用户有所了解但未曾使用,5.9%的用户未曾传闻过。

2. Set

Set 对象允许你存储任何类型的仅有值,无论是原始值或者是对象引用。

56.5%的用户曾使用过,30.6%的用户有所了解但未曾使用,12.9%的用户未曾传闻过。?


3. TypedArray

JavaScript TypedArray 是一品种似于数组的对象,其提供了在内存缓冲区中读写二进制数据的机制。

28.1%的用户曾使用过,35.4%的用户有所了解但未曾使用,36.5%的用户未曾传闻过。

4. Array.prototype.flat()

flat() 方法会依照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中元素合并为一个新数组返回。

26.8%的用户曾使用过,40.8%的用户有所了解但未曾使用,32.5%的用户未曾传闻过。


阅读器API

1. Fetch

Fetch API 提供了一个获取资源的接口(包括跨域请求)。任何使用过 XMLHttpRequest 的人都能轻松上手,并且新的 API 提供了更强壮和活络的功用集。

81.5%的用户曾使用过,11.3%的用户有所了解但未曾使用,7.1%的用户未曾传闻过。

2. 国际化(i18n)

Intl 对象是 ECMAScript 国际化 API 的一个命名空间,它提供了准确的字符串比照、数字格局化,和日期时间格局化。Collator,NumberFormat 和 DateTimeFormat 对象的构造函数是 Intl 对象的属性。本页文档内容包括了这些属性,以及国际化使用的构造器和其他言语的方法等常见的功用。

41.6%的用户曾使用过,39.5%的用户有所了解但未曾使用,18.9%的用户未曾传闻过。

3. 本地存储(local storage )

只读的localStorage 属性允许你拜访一个Document 源(origin)的对象 Storage;存储的数据将保存在阅读器会话中。

88%的用户曾使用过,10.3%的用户有所了解但未曾使用,1.7%的用户未曾传闻过。

4. Service Worker

Service workers 本质上充当Web应用程序与阅读器之间的代理效劳器,也能够在网络可用时作为阅读器和网络间的代理。它们旨在(除其他之外)使得可以创建有用的离线体验,拦截网络请求并基于网络是否可用以及更新的资源是否驻留在效劳器上来采纳适当的动作。他们还允许拜访推送告诉和后台同步API。

36.1%的用户曾使用过,54%的用户有所了解但未曾使用,9.8%的用户未曾传闻过。


5. Web 动画

Web Animations API 允许同步和定时更改网页的呈现, 即DOM元素的动画。它通过组合两个模型来完成:时序模型和动画模型。

14.2%的用户曾使用过,52%的用户有所了解但未曾使用,33.8%的用户未曾传闻过。


6. Web 音频

Web Audio API 提供了在Web上控制音频的一个十分有用通用的体系,允许开发者来自选音频源,对音频添加特效,使音频可视化,添加空间效果 (如平移),等等。

20.6%的用户曾使用过,58%的用户有所了解但未曾使用,21.4%的用户未曾传闻过。


7. Web 组件

作为开发者,我们都知道尽量多的重用代码是一个好主意。这关于自界说标记结构来说通常不是那么容易 — 想一想杂乱的HTML(以及相关的样式和脚本),有时你不能不写代码来呈现自界说UI控件,并且假如您不当心的话,屡次使用它们会让页面变得一团糟。

27.7%的用户曾使用过,61.2%的用户有所了解但未曾使用,11.1%的用户未曾传闻过。


8. WebGL

WebGL (Web图形库) 是一种JavaScript API,用于在任何兼容的Web阅读器中呈现交互式3D和2D图形,而无需使用插件。

16.7%的用户曾使用过,68.6%的用户有所了解但未曾使用,14.7%的用户未曾传闻过。


9. WebRTC

WebRTC (Web Real-Time Communications) 是一项实时通讯技能,它允许网络应用或者站点,在不借助中心前语的状况下,建立阅读器之间点对点(Peer-to-Peer)的连接,完成视频流和(或)音频流或者其他任意数据的传输。

10.9%的用户曾使用过,46.3%的用户有所了解但未曾使用,42.9%的用户未曾传闻过。



10. WebSocket

WebSockets 是一种先进的技能。它可以在用户的阅读器和效劳器之间打开交互式通讯会话。使用此API,您可以向效劳器发送音讯并接收工作驱动的呼应,而无需通过轮询效劳器的方式以取得呼应。

59.2%的用户曾使用过,33.8%的用户有所了解但未曾使用,7.1%的用户未曾传闻过。


11. Web Speech API

Web 应用可以使用 Web Speech API 处理语音数据。这个API包括两个组件:SpeechSynthesis(文字转语音)和 SpeechRecognition (异步语音辨认)。

7.5%的用户曾使用过,46.8%的用户有所了解但未曾使用,45.7%的用户未曾传闻过。


12. WebVR

WebVR API 能为虚拟现实设备的烘托提供支撑 — 例如像Oculus Rift或者HTC Vive 这样的头戴式设备与 Web apps 的连接。

3%的用户曾使用过,48.4%的用户有所了解但未曾使用,48.6%的用户未曾传闻过。



其他特征

1. 渐进式Web应用(Progressive Web App,PWA)

PWA 运用现代的 Web API 以及传统的渐进式增强策略来创建跨平台 Web 应用程序。这些应用无处不在、功用丰厚,使其具有与原生应用相同的用户体验优势。

48.2%的用户曾使用过,45.5%的用户有所了解但未曾使用,6.3%的用户未曾传闻过。


2. WebAssembly

WebAssembly 是一种新的编码方式,可以在现代的网络阅读器中运转 - 它是一种初级的类汇编言语,具有紧凑的二进制格局,可以挨近原生的性能运转,并为诸如C / C ++等言语提供一个编译方针,以便它们可以在Web上运转。它也被设计为可以与JavaScript共存,允许两者一同工作。

7.1%的用户曾使用过,75.1%的用户有所了解但未曾使用,17.8%的用户未曾传闻过。


开发人员对 JavaScript 的观点

为了保证编程言语的健康开展,我们应该遵从社区的呼声。我们可以从开发人员对 JavaScript 各个方面的观点中发现问题,例如 JavaScript 的开展方向是否正确、杂乱度是否在加剧、使用状况、以及变化速度等。

欢迎我们在评论区留言评论哦!

【免责声明】本文仅代表作者或发布者个人观念,不代表(www.lmnkf.cn)及其所属公司官方发声,对文章观念有疑义请先联络作者或发布者自己修正,若内容触及侵权或违法信息,请先联络发布者或作者删除,若需我们协助请联络平台管理员,Emailcxb5918(本平台不支撑其他投诉反馈渠道,谢谢合作)。若需要学习以上相关常识请到巨推学院观看视频教程,网站地址www.tsllg.cn。

相关内容