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应用的开发体验。
<p style="margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">很多人觉得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应用的开发体验。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">秦粤老师在《浮华过后的Node.js》分享里,也表达了同样观点,他用的是产品化平缓期,也是健康稳步的发展的意思。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"><img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FqRK1Uehhaz3lFDF3oHeL97Z7zYm" alt="image.png" /></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">社区方面,Web框架已经没有多少空间,以特性取胜的框架,应该不会很多,比较期待Egg3。像fastify这种,修改Node.js机制,在性能领域深耕的框架,目前看是比较有作为的。pnpm是有创新的,但代码是有点可读性不太好。我更加喜欢rushstack对menorepo的改进,大规模编程范式还需要探索。除了去年提的midway-hooks,easy-monitor,看起来remix和morden算新,但还没有超出之前的范畴。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">下面结合《<a style="color: #0088cc;" href="https://nodersurvey.github.io/reporters" target="_blank" rel="noopener">Node.js开发者2021报告</a>》内容,我们详细解读一下Node.js 2021年的情况。这份解读是根据冰森&狼叔直播内容整理的,要点如下。 </p>
<h3 style="margin-top: 30px; margin-bottom: 15px; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; line-height: 40px; color: #333333; text-rendering: optimizelegibility; font-size: 24.5px; border-bottom: 1px solid #eeeeee; background-color: #ffffff;">1)开发框架变化较大,造轮子变少,TS变多,使用企业级框架变多</h3>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">去年express占比还非常高,今年企业级框架变多,尤其是大而全的框架更受欢迎。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"><img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/Fl-QFKuag-dvFGbx7Q45WabMH5d8" alt="image.png" /></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">Egg在国内普及率很高,而Midway和Nest增长较快,其实和TS普及有一定关系。 <img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FvoNa6PGZJN1ZaqZlmXZuRnNUI5_" alt="image.png" /> </p>
<h3 style="margin-top: 30px; margin-bottom: 15px; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; line-height: 40px; color: #333333; text-rendering: optimizelegibility; font-size: 24.5px; border-bottom: 1px solid #eeeeee; background-color: #ffffff;">2)版本更新变化较大,从Node 12升级到Node 14,升级比较积极</h3>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">去年Node.js主要是使用Node 12,2021年Node 14占比将近一半,更新还是较快的。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"><img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FpQcq4qzd9rl-R-VEXzLZAiVMPaa" alt="image.png" /> </p>
<h3 style="margin-top: 30px; margin-bottom: 15px; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; line-height: 40px; color: #333333; text-rendering: optimizelegibility; font-size: 24.5px; border-bottom: 1px solid #eeeeee; background-color: #ffffff;">3)吐槽变多,意味着用的人变多,趋于成熟</h3>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">C++之父Bjarne Stroustrup说过:世界上只有两种编程语言,一种是整天被人骂的,还有一种是没人用的。 </p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">大家对Node.js吐槽变多,实际上是在应用场景上使用较多,不再是针对于某些特性而进行吹捧。回归理性,在真实应用场景上,分布广泛,核心围绕API和BFF层,CLI&工具。 <img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FkEeeI7hvEdSMIyUNaKxnQx9pzcJ" alt="image.png" /></p>
<h3 style="margin-top: 30px; margin-bottom: 15px; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; line-height: 40px; color: #333333; text-rendering: optimizelegibility; font-size: 24.5px; border-bottom: 1px solid #eeeeee; background-color: #ffffff;">4)出圈:年龄分布较去年比变大,使用工种也变得比较丰富。</h3>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">除了应用场景上,分布广泛外,非前端意外的开发者相关角色也有很大比例的提升,比如架构师,技术总监,项目经理等都一定程度上使用Node.js。可以说Node.js走出了前端圈,面向更大群体提供服务。另外受访者的年龄分布也变大了,这和出圈是有直接关系的。 <img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FsnHAf1Map8P8i4bEAn89POQf_8E" alt="image.png" /></p>
<h3 style="margin-top: 30px; margin-bottom: 15px; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; line-height: 40px; color: #333333; text-rendering: optimizelegibility; font-size: 24.5px; border-bottom: 1px solid #eeeeee; background-color: #ffffff;">5)使用困惑:性能优化,内存泄漏以及npm依赖</h3>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">以往对Node.js困惑最多的是异步流程控制,随着async/await的普及,这个问题已经慢慢在弱化。随着开发者使用Node.js深度增加,对性能优化,内存泄漏更为关注,这也是比较容易理解的。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"><img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FkPiwL5U9kbNq1vUE1J8AQKn54z4" alt="image.png" /></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"></p>
<h3 style="margin-top: 30px; margin-bottom: 15px; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; line-height: 40px; color: #333333; text-rendering: optimizelegibility; font-size: 24.5px; border-bottom: 1px solid #eeeeee; background-color: #ffffff;">6)未来:从业经验越高则越关注性能和 Serverless</h3>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;">关注性能比较容易理解,关注Serverless最主要是的原因是Serverless可以做到低运维甚至是0运维。运维作为Node.js开发者必备技能,Serverless的出现使得很多非专业Node.js也能轻松搞定Node.js各种服务端场景。</p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"><img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FjZSOZ1uO-Tqh8yTL2E4CtvMUFbN" alt="image.png" /></p>
<p style="margin-top: 1em; margin-bottom: 1em; font-size: 15px; word-break: break-word; white-space: pre-wrap; overflow-wrap: break-word; line-height: 1.7em; overflow: auto; color: #333333; font-family: 'Helvetica Neue', 'Luxi Sans', 'DejaVu Sans', Tahoma, 'Hiragino Sans GB', STHeiti, sans-serif; background-color: #ffffff;"><img style="vertical-align: middle; border: 0px; cursor: pointer;" src="https://static.cnodejs.org/FshPaWkMvnMKMxJckqf0L-M5OYe1" alt="image.png" /></p>
分享到:
转载:
https://cnodejs.org/topic/61dbd8fd994582918ef7d174
喜欢 2
收藏
暂无评论信息
- 相关文章
- 文章推荐
-
淘宝 NPM 镜像站喊你切换新域名啦
淘宝 NPM 镜像站(npm.taobao.org)自 2014 年 正式对外服务,一开始只是想简单地做 NPM 的中国镜像站点,回馈国内前端社区,不知不觉竟然一直运行到现在。当年参考 Ruby Gems 淘宝镜像 的方式,跟阿里开源组织申请了 taobao.org 的二级域名,镜像站点名称也自然而然地取名为 淘宝 NPM 镜像站 (下称 CNPM)。
-
jQuery 3.0正式发布
jQuery 基金会刚刚发布了该 Java 框架的 3.0 版本,并且首次抛弃了对老旧的 IE 浏览器的支持。jQuery 3.0 的工作始于 2014 年 10 月,其最初目标是在 2.0 版本之上进行完善,并和遥远的 1.0 版代码说再见——因为要兼容 IE 的缘故,其已经臃肿不堪。jQuery 2.0 已经与 1.0 版本完全不兼容,而 3.0 也将继续这一路线。
-
娱美德旗下MMORPG手游《传奇4》将推出新PVP玩法"比奇掠夺"&
《传奇4》推出新门派PVP玩法!韩国首尔2022年6月29日 /美通社/ -- 《传奇4》(MIR4)的新PVP玩法比奇掠夺(Bicheon Heist)于2022年6月28日推出。
-
Docker 常用命令
docker目前代替虚拟机使用的一个容器,灵活好用。
- 点击排行
- 站长推荐
- 猜你喜欢
- 网站信息
- 站内问答:12篇
- 站内文章:212篇
- 建站时间:已运行1107天
- 备案号: 浙ICP备2022018799号
- 语言:
English(USA)
French(FR)
Chinese(ZH)
无数据