Node.js 2021年开发者报告解读

大家好,我是若川。持续组织了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》分享里,也表达了同样观点,他用的是产品化平缓期,也是健康稳步的发展的意思。

f09d3bc1f503d15a282dbbe47268dc6e.png
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占比还非常高,今年企业级框架变多,尤其是大而全的框架更受欢迎。

f758ca16bdccee6fc3381b3707b1461a.png
image.png

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

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

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

473f27bf6577a623e3e00246dea8f9bc.png

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

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

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

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

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

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

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

aed69a2b9f26edb2a0c54c93d71d748e.png
image.png

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

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

9fe2b9a6c2ec2064aa95e45a8d661785.png
image.png
1307831ada7ed4b95fdcd3daf6226ee1.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

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


18b068b133d2cc71eb7146d48d8a61a9.gif

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

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

e84f93dc02f1d5571e75857245a25ef0.png

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

今日话题

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搭建nginx反向代理用做内网域名转发

为什么80%的码农都做不了架构师?>>> 情景 由于公司内网有多台服务器的http服务要映射到公司外网静态IP,如果用路由的端口映射来做,就只能一台内网服务器的80端口映射到外网80端口,其他服务器的80端口只能映射到外网的…

外国经典儿童读物合集pdf_帮助父母在线购买儿童读物–用户体验案例研究

外国经典儿童读物合集pdfTŤ As our first group project at GA, we needed to quickly learn how to use several online tools that helped our team of 4 collaborate and communicate while socially distant. Despite the rather extreme circumstances our team was stil…

如何优雅处理 async await 错误——解读小而美的 await-to-js 库

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

同态加法_同态的Spotify

同态加法重点 (Top highlight)When neumorphism was predicted to be one of the top 2020 UI design trends, I wanted to give it a shot. Having said that, I wanted to explore a type that had not gone overboard, neumorphism in Dark Mode.当neumorphism预计为顶部202…

ubuntu清除无效的右键打开方式

为什么80%的码农都做不了架构师?>>> 今天安装了几个程序又将它们删除了之后发现了一个比较严重的后遗症,在相关文件右键打开方式中出现了许多实际已经不存在的文件打开程序名。想了多种方法去除,可是效果不佳,最终采用…

新一代的编译工具 SWC,97年小哥写的~

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

粉红噪音_粉红的常绿力量

粉红噪音I use Instagram. But I don’t use Instagram in the way that my daughters, who are 21 and 14, use Instagram. More to the point, Instagram doesn’t use me in quite the same way it uses my daughters.我使用Instagram。 但是,我不会像21岁和14岁…

Sql Server 中存储过程的output return的区别

看http://zxianf.blog.163.com/blog/static/301207012009114104124969/中片关于Sql Server中存储过程output和return值的区别 在里面有讲解,我在自己本机中测试的结果如下, 1:ReturnValue只能返回0,1,-1这样的数据,局限性很大 &am…

1个月增长15000 star,zx 库写shell脚本真不错~

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

灰色边框阴影_50种暗模式灰色阴影

灰色边框阴影If you’re an avid dark mode user like me, you’ll know that dark mode isn’t just about white text on black backgrounds. In a single app, a handful of shades of gray give the app some depth. And across various apps, the spectrum of gray become…

Android源代码下载

为什么80%的码农都做不了架构师?>>> Android代码使用git管理, 所以关于Android源码下载一般来说要安装git. 本文是讲述只使用Eclipse完成Android源码下载和关联. 下载Eclipse,目前最新版本是Juno,自带了EGit插件-->Eclipse Git插件 那么可以使用EGit…

v-charts加载动画_加载动画-用户体验写作练习

v-charts加载动画Many new UX writers often struggle to find the balance between creativity and clarity. You can’t make everything fun/exciting/interesting as it can have an adverse effect on usability. But there are times when you can add a bit of flair.许…

34岁回顾人生,也怕中年危机!

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

svg动画制作_制作第一个SVG动画

svg动画制作Story of a designer trying to code animations instead of asking a dev to figure it out.一位设计师尝试编写动画代码而不是要求开发人员弄清楚动画的故事。 编码动画是Webdesign的未来 (Coded animations are the future of Webdesign) Because we have acces…

网站前端设计,从960框架开始

一个网站进入到前端设计阶段,第一步肯定是为全站搭建一个统一的,基础的HTML模型,在这里推荐一下我刚学习的960框架。960是一个CSS框架,你肯定在想,这个世界肯定是疯了,连CSS都有框架了吗,没错&a…

60+ 实用 React 工具库,助力你高效开发!

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

2012年12月第二个周末

2019独角兽企业重金招聘Python工程师标准>>> 这周,装上了windows版的 Linux版的oracle 熟悉了下SQL*PLUS的编程规则,还有常用的linux命令 看了一本《简爱》 正在看oracle 转载于:https://my.oschina.net/u/204616/blog/545513

『C#基础』调用CMD的一个小工具

由于经常要使用CMD的一些命令,比如查看IP,Ping一个网址之类的。于是就写了一个调用CMD.exe的小工具。 主要就是实现这样一个事情:调用CMD.exe然后传给它我想要执行的命令,最后获取结果。 界面: 代码: 主要执…

小姐姐:如何参与大型开源项目-Taro 共建

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

JavaWeb学习总结(十七)——JSP中的九个内置对象

2019独角兽企业重金招聘Python工程师标准>>> 一、JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理。JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet) ,然…