本次观测由阿里巴巴、腾讯等公司领衔,观测时间从 2020 年 2 月至 4 月,以中文举办。停止 4 月 10 日共有 1113 名受访者介入调研。本陈诉将从 Nodejs 开拓者人群、应用场景、开拓场景等多个维度阐明当下 Nodejs 开产生态的近况。 受访者 人物来历
本次调盘查卷中,填写问卷的 Node.js 开拓者主要年数漫衍如下:
他们的主要漫衍环境为:
个中以都市角度看,人数漫衍主要是:
职业简历典范的受访者来自两种公司,别离是百人阁下的小型公司,以及 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。
多语言与 Node.js 开拓最契合的是前端开拓语言(JavaScript/HTML/CSS)。
除了前端,整体上与 Node.js 最常见并存的语言别离是 Java (25.27%)、Python (22.24%) 和 Go (17.73%)。
开拓流程 代码转译跟着 Node.js 利用年限增加,不转译的比率大幅下降 (45% 到 25%)。
TypeScript 是最常用的转译语言。
代码查抄整体上有 90% 的 Node.js 开拓者利用过 ESLint。
跟着团队局限的增大 TSLint 的利用存在微小的增幅。
设置方法文件设置是最风行的设置方法。
固然设置中心利用概率不高,不外公司局限越大则设置中心的利用概率越高。
编辑器VS Code 一骑绝尘,是 Node.js 开拓者最喜爱开拓东西
历程打点公司越大利用 Docker 的比例越高。
中型公司利用 PM2 的比例更高。
操纵系统 技能栈一个典范的 Node.js Web 应用:
利用 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%)。
反向署理Noder 们对付反向署理的观念是约便是 Nginx 的。
利用反向署理的根基城市利用 Nginx (由于多选的原因百分比会高出 100%)。
越大的公司越倾向于利用反向署理。
RPCHTTP 是最常见的 RPC 方法,另外利用最多的是动静行列。
中型公司利用动静行列的比率最高。
大公司利用自研 RPC 协议的比率最高。
动静行列常用的动静行列(多选) 仅 18% 的同学填写动静行列(问卷星渠道不包罗)
开产生态 Node 版本在 2020 年,开拓者们普遍利用 12.x 或更高版本 13.x。
除了 NPM, 最风行的打点东西主要是 yarn 以及 cnpm。
仅有不到 6% 的开拓者在利用非 LTS 版本的 Node.js。
依赖打点NPM 影响力庞大,仅有不到 6% 的同学可以挣脱 NPM 只利用其他的依赖打点东西。
除了 NPM, 最风行的打点东西主要是 yarn 以及 cnpm。
跟着开拓履历的增加,开拓者会更多的试图寻找 NPM 以外的依赖打点东西。
NPM 镜像利用镜像加快的同学高出 57%,可是这对 NPM 的下载速度并没有起到抉择性的影响。
通过比例阐明可以发明,除了镜像加快,下载速度越快的同学中公司陈设私有 NPM 镜像的比例越高。
进修晋升 进修途径老司机更多的从开源代码 (Github & NPM) 来进修 Node.js。
新同学对比之下会更多的通过进修视频以及博客 & 期刊等渠道进修。
利用狐疑Node 开拓者利用狐疑的前三别离是机能优化 (58%)、内存泄漏 (42.4%) 以及 Debug (24.89%)。
新人更容易面对的狐疑前三别离是 异步编程、事件驱动以及 Debug。
跟着开拓履历的增加,内存泄漏的比例也慢慢上升。
资源需求文档是各人最等候的资源。
新同学对视频教程和免费在线课程的呼声最高。
跟着开拓履历的增加,开拓越发存眷文档、大会勾当以及线下沙龙。
将来要害字Serverless 和多线程是 2020 年的 Noder 们最存眷的新要害字。
从业履历越高则越存眷 WebAssembly (WASI) 和 N-API。
越年青的同学越存眷 Deno。
生态期望Node.js 开拓者中呼声最高的需求是更好的机能以及开拓效率。
另外不满 1 年的开拓者更体贴进修本钱,年限越长越体贴维护本钱。
最后同样的数据在差异的人眼里可以衍生出差异的观点,本陈诉内的解读仅供参考。同时接待社区同学对本陈诉举办解读和阐明。
假如发明有疏漏可能有你本身的想法/吐槽都可以在 GitHub 上提 issue 反馈。