以下内容根据 StateOfJS 这个项目整理而来。
一年一度的 JavaScript 趋势报告来啦,这个报告从 2016 年开始,今年已经是第三年啦!
这个项目叫 StateOfJS,是由 Raphaël Benitte、Sacha Greif 和 Michael Rambeau 完成的,他们创建了一个的网站,来向开发者收集反馈,最终通过文字和图表的方式告诉大家最终的结果。
StateOfJS 项目地址:
2018 年的报告,总共有来自 153 个不同的国家共 20,000 多名 JavaScript 开发者参与调查(中国占总数的 0.37%,共 75 个开发者)。我们通过这个调查,来确定这些开发者正在使用什么技术,他们喜欢哪些技术,以及他们对哪些技术感兴趣。希望这个报告能帮助你在 JavaScript 生态之中找到适合自己的技术栈。
今年有什么看点
没有 CSS
今年的报告和前两年不同,取消了 CSS 部分。因为组织者认为 CSS 是一个庞大的话题,几乎可以作为一个独立的调查去做。所以这一次的报告就专注于 JavaScript。
除了没有 CSS 之外,今年的报告主要围绕着 Flavors、前端框架/库、数据层、服务端框架、测试框架、Mobile & Desktop和其他工具这几个方向进行展开调查,我们接下来就分别来看看各个方面的情况是怎么样的。
JavaScript “Flavors”
我们把可以编译为 JavaScript 的各种语法和语言称为 “flavors” ,例如 TypeScript。
从上图中我们可以看到,除了 ES6 之外,TypeScript 是最受欢迎的,远远超过其他几个同类型的。
在大多数地方,超过 40% 的开发者表示他们已经使用过它并且很乐意再次使用它,在一些国家,这个比例甚至超过了 50%。
前端框架
在我们的日常开发工作中,前端框架/库都是不可或缺的,目前我们经常能够听到的就是 React、Vue、Angular,除此之外还有其他一些框架/库,那他们的情况又是怎么样的呢?我们一起来看看:
通过上图,我们可以看出,React 还是最受欢迎的,Vue 排名第二,但是从“使用过并且将再次使用”的比例来看,还是相去甚远,不过这份接受这个报告的开发者更多是国外的,中国也许这个数据会有所不同。
下面这张图表描绘了开发人员对前端库的满意程度,以及它们拥有的用户数量之间的关系:
从目前来看,只有 React 兼有庞大的用户群和高用户满意度,但我们相信 Vue 肯定也能够实现这一目标。 另一方面,Angular 拥有庞大的用户群,但其用户似乎对它并不太满意。
数据层
数据层对用于传输和管理数据的所有技术进行分组。
从上图我们可以看到,虽然 Redux 在原始数量方面占据主导地位,但我们认为这种趋势更有利于 GraphQL 及相关技术(如 Apollo)。
当然,从理论上讲,你可以将 Redux 和 GraphQL 结合使用,但实际上,这种组合最终可能会被特定于 GraphQL 的工具所取代,例如 Apollo 的内置状态管理。
服务端框架
我们知道,Express 和 Koa 都是同一个作者 TJ 发起的,但是我们从上图可以看到,“使用它,并将再次使用”的比例来看,Express 还是最受欢迎的,并且远超于其他框架,目前 Next.js 排名第二,Koa 排名第三。
测试框架
从上图的报告中我们可以看出,Jest 和 Mocha在受欢迎程度上基本差不多,但是 Jest 还是更受欢迎一些,也许是因为 React 和 Facebook 的原因,因为 Jest 可以说是 React 的标配啦,我们看到有 8.4% 的开发者曾经使用过 Mocha,但是以后将不再使用它。
Mobile & Desktop
“任何可以用 JavaScript 编写的应用程序最终都会用 JavaScript 编写。”JavaScript 不仅仅局限于浏览器了。
从报告结果来看,Electron 虽然排在第一,但事实上 React Native 和它基本相同,只有不到 1% 的差距,不过他们两个应该分别代表了桌面和移动端使用的框架吧。
开发者对 JavaScript 一些看法
从 2016 年到 2018 年,越来越多的人认为 JavaScript 正朝着正确的方向发展。
觉得「现在构建 JavaScript 应用过于复杂」的比例稍有降低,但是还是占大部分。
超过 50% 以上的开发者认为 JavaScript 生态变化太快了,但是和前两年相比,今年这个比例有所下降。
近 70% 开发者希望 JavaScript 成为他的主要编程语言。