2019 年 JavaScript 现状调查报告

clipboard.png

2003 年,保罗·格雷厄姆(Paul Graham) 曾撰文提到,他的公司决定使用 Lisp。在该文章中他将 Lisp 描绘成计算机语言界的法语,它独特、深邃,能够表达难以描述的事物。

如果 Lisp 像法语,那么现如今的 JavaScript 就像英语一般。尽管二者的语法不一致,但英语是世界上最广泛使用的语言,JavaScript 是最广泛应用的计算语言。

然而,JavaScript 似乎没有得到相应的尊重。很多大公司的高级工程师声称它不是一门「真正的」编程语言,不知道它除了操作像素外它还有什么用途...

但其实除了样式效果外,JavaScript 也被越来越多地应用于软件开发,例如后端任务、Web 服务器以及数据处理。Zeit 首席执行官 Guillermo Rauch 指出,JavaScript“不是人为设计出来的,它是在进化过程中得到的结果。是市场的力量改造了这门语言。

借着这次 State Of JS 发布的第四版「JavaScript 现状调查报告」,我们一起来看一看 JavaScript 现在到底是个什么情况?

JavaScript 是什么?

clipboard.png

JavaScript(通常缩写为JS)是一种高级的、解释型的编程语言。JavaScript 是一门多范式的,基于原型、函数先行的语言,它支持面向对象编程,命令式编程,以及函数式编程。目前已被世界上的绝大多数网站所使用,也被世界主流浏览器(Chrome、IE、Firefox、Safari、Opera)支持。

虽然 JavaScript 与 Java 这门语言不管是在名字上,或是在语法上都有很多相似性,但这两门编程语言从设计之初就有很大的不同,JavaScript 的语言设计主要受到了 Self(一种基于原型的编程语言)和 Scheme(一门函数式编程语言)的影响。在语法结构上它又与 C 语言有很多相似(例如 if 条件语句、switch 语句、while 循环、do-while 循环等)。

在客户端,JavaScript 在传统意义上被实现为一种解释语言,但在最近,它已经可以被即时编译(JIT)执行。随着最新的 HTML5 和 CSS3 语言标准的推行它还可用于游戏、桌面和移动应用程序的开发和在服务器端网络环境运行,如 Node.js。

2019 年 JavaScript 现状调查报告

State Of JS 方面表示,因 JavaScript 的生态系统发展未能尽如人意的原因,其又发布了 2019年的 JavaScript 现状调查报告。今年的 JavaScript 状态是该调查的第四版,覆盖了21,717位受访者。客户数据可视化专家 Amelia Wattenberger 针对 JavaScript 生态系统进行了全面的概述。

clipboard.png

2016年 - 2019年 趋势图

1.JavaScript 现状

“风味(Flavors)”

截止到 2019 年度,排名第一的为 TypeScript。此外,背后有着 Facebook 支持的Reason 也值得关注,但关注度层面,TypeScript 一枝独秀。

clipboard.png

clipboard.png

前端框架

截止到 2019 年度,排名第一的为 React,但前三名的竞争依然很激烈,

clipboard.png

clipboard.png

资料层

排名第一的依然是 graphql,但 Redux 是目前使用最广泛的工具。同时,Apollo 的用户数也在持续上涨,已从 2018 年的 11.1% 增加到了 24.9%。

clipboard.png

clipboard.png

后端框架

JavaScript 在后端领域近年来似乎没有取得任何重大突破唯一比较亮眼的是 Next.js 表现良好,用户数已从 2018 年的 8.6% 上升到了 24.7%。

clipboard.png

clipboard.png

测试

clipboard.png

clipboard.png

移动和桌面

clipboard.png

clipboard.png

React Native 和 Electron 仍是使用 Web 技术构建移动和桌面应用的两个主要解决方案。

2.其他工具

您经常使用哪些实用程序库?

clipboard.png

其他实用程序

clipboard.png

您经常使用哪种文本编辑器?

clipboard.png

在初始开发过程中,您主要使用哪种浏览器?

clipboard.png

您还使用其他哪些编程语言?

clipboard.png

3.JavaScript 相关意见汇总

JavaScript 朝着正确的方向发展

clipboard.png

现在构建 JavaScript 应用程序过于复杂

clipboard.png

JavaScript在线使用过多

clipboard.png

我喜欢构建 JavaScript 应用程序

clipboard.png

我希望 JavaScript 成为我的主要编程语言

clipboard.png

JavaScript 生态系统变化太快

clipboard.png

4.结论

您知道有时候您有时会开始在这里和那里调整几行代码,然后意识到几个函数可以使用一些重构,然后在建立全新堆栈的几天后发现一件导致另一件事情的事情。完成数据库和GraphQL API?

这就是我们今年发生的事情。虽然这导致了很多紧张的夜晚,但我们试图总结一下并在2019年发布JavaScript 2019状态报告; 这也意味着我们现在有了一个功能更强大,更灵活的堆栈,可以收集和分析以后的数据。

这将有助于分析所有新工具的发展,这些新工具开始引起轰动,例如Svelte,Stencil,Sporky,Nest或Flutter。是的,我只是组成了那五个中的一个,但是承认了:您有片刻的怀疑不是吗?

但是不用担心。无论社区不断向您扔出多少个怪异的库,我们都会在那里帮助您解决所有这些混乱情况……也就是说,如果我们不忙于进行另一次重构以使我们的代码完美无缺!

–萨莎和拉斐尔


官方表示,他们将发布自己的?JavaScript T恤?,以资助之后的工作。这件衬衫的特征是“ JavaScript周期表”,其中列出了按类别分组的最受欢迎的库,以及它们的 GitHub 星级数(以千计)。

不得不说,这件衬衫是熟悉 JavaScript 生态系统的路径之一,也是个充值信仰的好方法哈哈哈哈~

clipboard.png

查阅 《The State of Javascript 2019》 完整报告,请扫码关注下方 SegmentFault 官方微信,回复关键字「javascript」即可。

clipboard.png