当前位置: 首页 > 后端技术 > Node.js

2020Node.js开发者调查报告

时间:2023-04-03 23:38:26 Node.js

简介:本次调查由阿里巴巴、腾讯等公司牵头。调查时间为2020年2月至4月,以中文进行。截至4月10日,共有1113名受访者参与了调查。本报告将从Nodejs开发者人群、应用场景、开发场景等多个维度分析Nodejs开发生态的现状。作者:冰森更多优质内容:点此简介:本次调查由阿里巴巴、腾讯等公司牵头。调查时间为2020年2月至4月,以中文进行。截至4月10日,共有1113名受访者参与了调查。本报告将从Nodejs开发者人群、应用场景、开发场景等多个维度分析Nodejs开发生态的现状。更好的阅读体验:更多高清数据图表和交互体验,可点击阅读原文并跳转到相关GitHub页面查看。受访者来源本次问卷中,填写问卷的Node.js开发者主要年龄分布如下:主要分布如下:从所在城市来看,人数的主要分布为:专业简历典型受访者来自有两种公司,一种是100人左右的小公司,一种是5k以上的大公司。他们通常是7人左右的团队中的前端或全栈工程师。工作内容应用场景Node.js一个典型的应用场景是网站开发。大公司中会有更多人使用Node.js进行工具和自动化开发。中小型企业会更愿意在移动应用中尝试Node.js。相当一部分人(35.01%)将学习Node.js作为一种爱好,尤其是在小公司。总体来看,87.50%的开发场景使用Node.js开发服务端API,51.19%开发CLI&工具。随着年龄的增长,Node.js作为服务器端API的使用略有下降(5%),而BFF的使用略有增加(4%)。年轻用户更愿意在SSR场景下使用Node.js。前端开发语言(JavaScript/HTML/CSS)最适合多语言和Node.js开发。除了前端之外,与Node.js整体共存最多的语言是Java(25.27%)、Python(22.24%)和Go(17.73%)。开发流程代码转译随着Node.js的老化,不转译的比率急剧下降(45%到25%)。TypeScript是最常用的转译语言。代码检查总体而言,90%的Node.js开发人员都使用过ESLint。随着团队规模的增加,TSLint的使用量略有增加。配置方式文件配置是最流行的配置方式。虽然使用配置中心的概率不高,但是公司越大,使用配置中心的概率就越高。编辑器VSCode是最好的,它是Node.js开发人员最喜欢的开发工具。流程管理公司规模越大,使用Docker的比例就越高。中型企业使用的PM2.5比例较高。操作系统技术栈一个典型的Node.jsWeb应用:使用Express/Koa框架,使用Mysql/MongoDB+Redis数据,配置Nginx作为反向代理Web框架。虽然感觉Koa.js的教程比较多,但其实Express.js还是最常用的框架。除了Koa/Express之外,更受欢迎的Web框架分别是Egg.js(38%)、Nest.js(15%)、Next.js(7%)和Midway.js(6%)。数据库2020年如果想学三种数据库,学MySQL(79%)、MongoDB(60%)、Redis(49%)。反向代理Noders的反向代理概念与Nginx大致相当。基本上用反向代理的都会用到Nginx。较大的公司倾向于更多地使用反向代理。RPCHTTP是最常见的RPC方式,使用最多的是消息队列。中型公司使用消息队列的频率最高。大公司使用自研RPC协议的比例最高。MessageQueue常用的消息队列(多选)只有18%的同学填写消息队列(不包括问卷星频道)开发生态节点版本2020年,开发者普遍使用12.x或13.x之后的版本。除了npm,最流行的管理工具主要是yarn和cnpm。不到6%的开发人员使用Node.js的非LTS版本。依赖管理NPM影响力巨大,只有不到6%的同学能摆脱NPM而只使用其他依赖管理工具。除了npm,最流行的管理工具主要是yarn和cnpm。随着开发经验的增加,开发者会尝试寻找NPM以外的更多依赖管理工具。超过57%的同学对npm镜像使用了镜像加速,但这对npm的下载速度没有决定性的影响。通过占比分析可以发现,除了镜像加速之外,下载速度越快,企业部署私有NPM镜像的比例越高。学习改进学习路径老司机更多地从开源代码(Github&NPM)中学习Node.js。相比之下,新生会通过学习视频、blog&journals等渠道学到更多。困惑Node开发者的困惑排名前三的分别是性能优化(58%)、内存泄漏(42.4%)和Debug(24.89%)。新人比较容易面临的前三大困惑分别是异步编程、事件驱动、Debug。随着开发经验的增加,内存泄漏的比例逐渐增加。资源需求文档是请求最多的资源。视频教程和免费在线课程是新生最需要的。随着开发经验的增加,开发更注重文档、会议活动和线下沙龙。未来关键词Serverless和多线程是2020年Noder最关心的新关键词,经验越丰富的人越关注WebAssembly(WASI)和N-API。低年级的学生更关注Deno。生态期望Node.js开发者最直言不讳的需求是更好的性能和开发效率。另外,1岁以下的开发者更关心学习成本,年数越长越关心维护成本。最终,同样的数据在不同的人眼中会产生不同的看法,本报告解读仅供参考。同时欢迎社区同学对本报告进行解读分析。如果大家发现有遗漏或者有自己的想法/抱怨,可以在GitHub上提issue反馈。