2013到2019年,TC39组织发展的非常快。曾经阿里,360都以能加入TC39为荣,能够从语言这样的底层规范上参与,能够很大程度提升中国前端的影响力。比如2021年阿里巴巴提案Error Cause 进入Stage3,也是当年很火的新闻。但实际上经过这么多年的发展,能提的都提了,能借鉴的也都借鉴了,就好比现在Node.js源码想去提个PR是不容易的一样。
2022年最火的一个项目是Bun.sh,官方介绍Bun是一个快的JavaScript运行时,且all in one,就是说它内置包管理。基于Zig和uWebSockets,性能是极好的。
其实,Node.js从2009诞生之后,除了当年iojs分家又合并的事外,就是ry另立门户做的Deno,其实它也是一个JavaScript运行时,无非是对浏览器和最新标准支持的更好,加上对TypeScript直接支持,开箱即用是非常好的设计。
我们可以把Node.js、Deno、Bun放在一起走一个简单的对比,具体如下。
通过上图,可以明显的看出,Bun的性能基本上是Node.js和Deno的3倍左右。但只看数据其实是不合适的,按太郎的说法: “等 Bun 把所有的 SegmentationFault, Illegal instruction 和 version 'GLIBC_2.29' not found 修完了以后性能会回到 Node.js/Deno 水平”,我是非常认同这个说法的。
当然,Node.js也有它的问题,尾大不掉,很多东西想改也是没法的。事实上,Node.js更新的也是非常多的,比如Deno引以为豪的network import,在Node.js v17.6里就实现了,除了直接ts没有支持外,其他差别就不大了。
JavaScript continues to reign supreme and Python held steady in the second place position over the past year in large part due to its versatility in everything from development to education to machine learning and data science. TypeScript also held firm in fourth place year-over-year. Notably, PHP dropped from sixth to seventh place in 2022.