大家好,我是若川。持续组织了5个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。

很多人觉得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.png

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深度增加,对性能优化,内存泄漏更为关注,这也是比较容易理解的。

image.png

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

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

image.png

image.png

推荐阅读

  • 天猪《EggJS 的前世今生与未来》,比较期待Egg3,easy-monitor作者一君也加入Egg3项目组了 https://www.yuque.com/atian25/blog/egg-1to2to3

  • 秦粤 《浮华过后的Node.js》链接稍后给出来

参考

  • 原文  https://cnodejs.org/topic/6108bbc2a5d29d175c2d4208

  • 报告 https://nodersurvey.github.io/reporters

如果大家想参与讨论,欢迎回复


················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经写了7篇,点击查看年度总结。
同时,最近组织了源码共读活动,帮助3000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

识别方二维码加我微信、拉你进源码共读

今日话题

略。分享、收藏、点赞、在看我的文章就是对我最大的支持~

Node.js 2021年开发者报告解读相关推荐

  1. OpenJS 基金会推出 Node.js 证书,JS 开发者可以“考证”了

    OpenJS 基金会近日在其官方博客公布了最新启动的专业认证计划.据介绍,此项认证计划重点关注 Node.js 开发者在专业环境中构建 Node.js 应用和服务所需的关键技能.开发者通过认证后,可获 ...

  2. 2021年第一季开发者报告新鲜出炉,最流行的编程语言竟然是它!

    2021年第一季开发者报告新鲜出炉,最流行的编程语言竟然是它! 近日,开发者调查分析公司SlashData发布了2021年<开发者报告>(第20版).报告中掺杂着大量冰冷的数字,无情的叙述 ...

  3. 狼叔直播 Reaction《学习指北:Node.js 2022 全解析》

    大家好,我是若川.持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan02 参与,每周大家一起学习200行左右的源码,共同进步.同时极力推荐订阅我写的<学习源码整体架构系列& ...

  4. Node.js 应用故障排查手册 —— Node.js 性能平台使用指南

    楔子 前一节中我们借助于 Chrome devtools 实现了对线上 Node.js 应用的 CPU/Memory 问题的排查定位,但是在实际生产实践中,大家会发现 Chrome devtools ...

  5. 企业最佳Node.js 应用案例分享

    微软.IBM.思科.Netflix.PayPal--这些只是少数几家在产品中使用Node.js软件的顶尖公司.自2009年首次发布以来,JavaScript环境越来越受欢迎.为什么呢?这是因为Node ...

  6. 怎么在vue的@click里面直接写js_【转】为 Node.js 贡献你的力量 ———— 调试代码

    原文作者:百万扩散性甜面包 himself65 原文链接: 为 Node.js 贡献你的力量 ---- 调试代码​www.himself65.com Node.js 作为一个世界级的项目,能为它贡献源 ...

  7. 知名Node.js组件存在代码注入漏洞

    喜欢就关注我们吧! 日前,一个被大量下载的 Node.js 组件被发现其含有一个高危的代码注入漏洞. 该漏洞被追踪为 CVE-2021-21315,影响了「systeminformation」npm ...

  8. Node.js 异步编程之 Callback介绍

    原文:http://www.jb51.net/article/63070.htm ------------------------------------- Node.js 基于 JavaScript ...

  9. Node.js和io.js将合并到Node基金会下

    io.js技术委员会已经投票决定加入即将成立的Node基金会.该项目将命名为Node.js,但会基于io.js代码库. \\ 几个月前,Node.js产生了一个分支,新项目名为io.js,第一个版本1 ...

最新文章

  1. 中美德工业互联网路径比较
  2. springboot整合mybatis增删改查(三):mybatis逆向工程
  3. 服务器性能/压力测试工具http_load、webbench、ab、Siege使用教程
  4. Spring学习之AOP(面向切面编程)
  5. SAP JAM的推荐菜单,书签和日历功能
  6. 使用simple transformation查找xml file内某个节点的attribute是否存在指定value
  7. 黄聪:C#索引器详解、示例
  8. 重庆邮电大学c语言实验报告,重庆邮电大学c语言上机实验期末实验报告.doc
  9. 生信技能树课程记录笔记(六)20220530
  10. Django官方文档
  11. [清橙A1364]社交网络结构洞【暴力】
  12. 对于课程签到设置合理性的调查报告
  13. sql修改服务器标记,KB974006-SQL Server 查询优化程序修复程序模型4199服务模型
  14. 微信扫一扫二维码直接打开外部浏览器下载app怎么解决
  15. 2022年10月 使用win11系统自带远程桌面,远程控制VMware虚拟机系统
  16. PPP with MPPE协议
  17. matlab中如何用数组绘图,matlab 基础学习(1)——数组,矩阵操作和绘图基础学习...
  18. SMP与AMP体系结构
  19. 视频编辑SDK,AE模版SDK,绿幕抠图SDK,AI人像分割SDK,VLOG模版SDK
  20. iOS 引导图的聚光灯效果代码实现

热门文章

  1. DOxygen for C++使用说明——注释代码二
  2. php记录已经点击过,最近一次的PHP面试题记录,office已到手!
  3. 第5章 Python 数字图像处理(DIP) - 图像复原与重建15 - 最小均方误差(维纳)滤波
  4. python 调用函数 开销_Python函数调用非常慢
  5. 分享:一款快速传输大文件、支持英文版的工具
  6. Celery 之异步任务、定时任务、周期任务
  7. angular接口传参
  8. python 操作mongo
  9. MyBatis传入参数为list、数组、map写法
  10. 面向对象 - 继承/组合 - 总结