Node.js 2021年开发者报告解读:健康稳步的发展中

本文涉及的产品
函数计算FC,每月15万CU 3个月
简介: Node.js 2021年开发者报告解读:健康稳步的发展中

很多人觉得Node.js没有往年那么火了,事实上不是这样的,Node.js社区健康稳步的发展中,主要是从性能好向好用转变,在易用性上有很大提升,从Node.js源码更新的内容看,大抵如此。Node.js  Diagnostics Working Group是近二年Node.js社区的重点工作组,Node.js  14版本之后的大部分功能特性都是这个工作组推动的。早在2015年,有2个跟踪工作组tracing WG 和事后分析工作组 postmortem  WG,在2017年合并到Diagnostics WG。核心产出是async_hooks, profiling, tracing, dump  debug, report等,都是在易用性和好用性上做提升。让每个Node.js开发者更低门槛的提升Node.js应用的开发体验。

秦粤老师在《浮华过后的Node.js》分享里,也表达了同样观点,他用的是产品化平缓期,也是健康稳步的发展的意思。

image.png

社区方面,Web框架已经没有多少空间,以特性取胜的框架,应该不会很多,比较期待Egg3。像fastify这种,修改Node.js机制,在性能领域深耕的框架,目前看是比较有作为的。pnpm是有创新的,但代码是有点可读性不太好。我更加喜欢rushstack对menorepo的改进,大规模编程范式还需要探索。除了去年提的midway-hooks,easy-monitor,看起来remix和morden算新,但还没有超出之前的范畴。

下面结合《Node.js开发者2021报告》内容,我们详细解读一下Node.js 2021年的情况。这份解读是根据冰森&狼叔直播内容整理的,要点如下。

Node.js 开发者 2021 报告原文:https://nodersurvey.github.io/reporters/

或点击阅读原文直接查看。

1)开发框架变化较大,造轮子变少,TS变多,使用企业级框架变多

去年express占比还非常高,今年企业级框架变多,尤其是大而全的框架更受欢迎。

image.pngimage.gif

Egg在国内普及率很高,而Midway和Nest增长较快,其实和TS普及有一定关系。image.png

2)版本更新变化较大,从Node 12升级到Node 14,升级比较积极

去年Node.js主要是使用Node 12,2021年Node 14占比将近一半,更新还是较快的。

image.png

3)吐槽变多,意味着用的人变多,趋于成熟

C++之父Bjarne Stroustrup说过:世界上只有两种编程语言,一种是整天被人骂的,还有一种是没人用的。

大家对Node.js吐槽变多,实际上是在应用场景上使用较多,不再是针对于某些特性而进行吹捧。回归理性,在真实应用场景上,分布广泛,核心围绕API和BFF层,CLI&工具。image.png

4)出圈:年龄分布较去年比变大,使用工种也变得比较丰富。

除了应用场景上,分布广泛外,非前端以外的开发者相关角色也有很大比例的提升,比如架构师,技术总监,项目经理等都一定程度上使用Node.js。可以说Node.js走出了前端圈,面向更大群体提供服务。另外受访者的年龄分布也变大了,这和出圈是有直接关系的。image.png

5)使用困惑:性能优化,内存泄漏以及npm依赖

以往对Node.js困惑最多的是异步流程控制,随着async/await的普及,这个问题已经慢慢在弱化。随着开发者使用Node.js深度增加,对性能优化,内存泄漏更为关注,这也是比较容易理解的。

image.png

6)未来:从业经验越高则越关注性能和 Serverless

关注性能比较容易理解,关注Serverless最主要是的原因是Serverless可以做到低运维甚至是0运维。运维作为Node.js开发者必备技能,Serverless的出现使得很多非专业Node.js也能轻松搞定Node.js各种服务端场景。

image.pngimage.png

推荐阅读

参考

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
9月前
|
JavaScript 前端开发 Java
掌握 JavaScript:从初学者到高级开发者的完整指南(一)
掌握 JavaScript:从初学者到高级开发者的完整指南(一)
|
9月前
|
JSON JavaScript 前端开发
掌握 JavaScript:从初学者到高级开发者的完整指南之JavaScript对象(二)
掌握 JavaScript:从初学者到高级开发者的完整指南之JavaScript对象(二)
|
6月前
|
运维 JavaScript Serverless
Serverless革命:一键上云,Egg.js开发者的超级加速器!
【8月更文挑战第8天】本教程介绍如何结合Egg.js与Serverless技术简化Web应用部署。首先确保已安装Node.js及npm,并使用`egg-init`脚手架创建新应用。接着添加`egg-serverless`插件支持Serverless部署,编写基本的应用代码及路由规则。通过配置`fc.yml`文件集成阿里云Function Compute作为Serverless平台,并借助`@alicloud/fun`工具完成部署。最后,通过部署生成的URL验证应用是否成功上线。采用Serverless架构,开发者可以专注于业务逻辑,大幅提高部署效率和资源利用。
87 5
|
6月前
|
JavaScript 前端开发 测试技术
Vue.js开发者必看!Vue Test Utils携手端到端测试,打造无懈可击的应用体验,引领前端测试新风尚!
【8月更文挑战第30天】随着Vue.js的普及,构建可靠的Vue应用至关重要。测试不仅能确保应用质量,还能提升开发效率。Vue Test Utils作为官方测试库,方便进行单元测试,而结合端到端(E2E)测试,则能构建全面的测试体系,保障应用稳定性。本文将带你深入了解如何使用Vue Test Utils进行单元测试,通过具体示例展示如何测试组件行为;并通过Cypress进行E2E测试,确保整个应用流程的正确性。无论是单元测试还是E2E测试,都能显著提高Vue应用的质量,让你更加自信地交付高质量的应用。
102 0
|
6月前
|
JavaScript 开发者 UED
Vue.js组件库大对决:Element UI与Vuetify,开发者的罗密欧与朱丽叶!
【8月更文挑战第30天】Element UI和Vuetify是Vue.js开发中的热门组件库,前者简洁高效,后者遵循Material Design,国际化程度高。两者均提供丰富的组件支持,但Vuetify组件更多样,设计更灵活;Element UI在性能和中文支持上更优。文档方面,Element UI更直观易懂,而Vuetify配置灵活但学习成本稍高。选择时需综合考虑项目需求、团队背景及设计风格,以达到最佳开发效果。
349 0
|
8月前
|
JavaScript 前端开发 编译器
探讨TypeScript如何帮助JavaScript开发者避免这些常见错误,从而提高代码质量和开发效率
【6月更文挑战第13天】TypeScript,JavaScript的超集,通过添加静态类型检查和面向对象特性,帮助开发者避免常见错误,提升代码质量和开发效率。它能检测类型错误,防止运行时类型转变引发的问题;使用可选链和空值合并避免引用错误;通过枚举减少逻辑错误中的魔法数字;接口和泛型等特性提高代码可维护性。学习TypeScript对提升JavaScript开发质量有显著效果。
79 4
|
9月前
|
JavaScript 前端开发 安全
【JavaScript与TypeScript技术专栏】TypeScript如何帮助JavaScript开发者避免常见错误
【4月更文挑战第30天】TypeScript,JavaScript的超集,通过静态类型检查和面向对象特性,帮助开发者避免类型错误、引用错误和逻辑错误,提升代码质量和可维护性。它引入类型注解、接口、可选链和空值合并,使代码更清晰、安全。对于大型项目,TypeScript的接口、类和泛型有助于代码结构化和模块化。学习TypeScript能提高JavaScript开发效率。
70 0
|
9月前
|
前端开发 JavaScript API
网页开发者必看!5种JS跳转页面技巧,提升用户交互体验
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
9月前
|
前端开发 JavaScript 安全
JavaScript 中的宿主对象和原生对象:开发者必知的基础知识(下)
JavaScript 中的宿主对象和原生对象:开发者必知的基础知识(下)
JavaScript 中的宿主对象和原生对象:开发者必知的基础知识(下)
|
9月前
|
XML 存储 JavaScript
JavaScript 中的宿主对象和原生对象:开发者必知的基础知识(上)
JavaScript 中的宿主对象和原生对象:开发者必知的基础知识(上)
JavaScript 中的宿主对象和原生对象:开发者必知的基础知识(上)

热门文章

最新文章