近日,由Ecma成员名义发起的《2021 Node.js 开发者报告》发布了。
该报告主要调查了Node.js生态现状:开发者如何使用Node.js;Node.js技术栈;目前Node.js生态的不足......本文节选了Node.js 2021的关键变化。
Node.js 2021的关键变化
变化一:Node.js开发场景发生变化,主要应用于to B业务(27.75%)
2021 年,Node.js开发场景发生变化,81% 的开发者使用 Node.js 开发 Web API,与去年相比下降了8%; 41% 的人开发 CLI & 工具,与去年相比下降了10%;同时,Node.js开发服务端API的比率下降,而开发微服务和CLI&工具的比率上升。
27.75%的开发者使用Node.js来开发to B应用,内部运营系统和自动化工具也是Node.js的用武之地。
变化二:Redis反超Mongo DB,位列数据库第二位
去年,数据库Top 3分别是 MySQL (79%)、MongoDB (60%) 和 Redis (49%)。而今年 Redis成功反超MongoDB,位列第二。另外,如果大家想要使用其它数据库来替换MySQL的话,建议可以考虑PostgreSQL。
变化三:Node.js 14.x和12.x更受欢迎,开发者在寻找NPM之外的依赖管理工具
2021年,开发者普通使用的Node.js版本是14.x和12.x,60%的开发者在使用LTS或者以上的版本。在依赖管理方面,开发老司机喜欢cnpm,而新手则更喜欢Yarn,随着开发经验的增长,开发者在试图寻找NPM之外的依赖管理工作。
接近 80% 的开发者会通过公司部署私有镜像或自行配置来加速 npm 依赖下载,公司规模越大自行部署私有镜像的概率越高。
关于Node.js 2021年度报告的六点解读
针对Node.js 2021年度报告,冰森&狼叔也做了以下六点解读:
1)开发框架变化较大,造轮子变少, TS 变多,使用企业级框架变多
去年express占比还非常高,今年企业级框架变多,尤其是大而全的框架更受欢迎。Egg在国内普及率很高,而Midway和Nest增长较快,其实和TS普及有一定关系。
2)版本更新变化较大,从 Node 12升级到Node 14,升级比较积极
去年Node.js主要是使用Node 12,2021年Node 14占比将近一半,应用更新比较快。
3)吐槽变多,意味着用的人变多,趋于成熟
C++之父Bjarne Stroustrup说过:世界上只有两种编程语言,一种是整天被人骂的,还有一种是没人用的。大家对Node.js吐槽变多,实际上是在应用场景上使用较多,不再是针对于某些特性而进行吹捧。回归理性,在真实应用场景上,分布广泛,核心围绕API和BFF层,CLI&工具。
4)出圈:年龄分布较去年比变大,使用工种也变得比较丰富。
除了应用场景上,分布广泛外,非前端以外的开发者相关角色也有很大比例的提升,比如架构师,技术总监,项目经理等都一定程度上使用Node.js。可以说Node.js走出了前端圈,面向更大群体提供服务。另外受访者的年龄分布也变大了,这和出圈是有直接关系的。
5)使用困惑:性能优化,内存泄漏以及 npm 依赖
以往对Node.js困惑最多的是异步流程控制,随着async/await的普及,这个问题已经慢慢在弱化。随着开发者使用Node.js深度增加,对性能优化,内存泄漏更为关注,这也是比较容易理解的。
6)未来:从业经验越高则越关注性能和 Serverless
关注性能比较容易理解,关注Serverless最主要是的原因是Serverless可以做到低运维甚至是0运维。运维作为Node.js开发者必备技能,Serverless的出现使得很多非专业Node.js也能轻松搞定Node.js各种服务端场景。