Bun 能否取代 Nodejs ? 谁才是JavaScript Runtime 最后的王者?

开发 前端
Nodejs 的出现,为前端带来无限可能;一经问世,前端的工作方式发生了翻天覆地的变化;没想到第一个被干掉的竟然是当年前端界的扛把子“Jquery”;

Nodejs 的出现,为前端带来无限可能;一经问世,前端的工作方式发生了翻天覆地的变化;没想到第一个被干掉的竟然是当年前端界的扛把子“Jquery”;

随着Npm包的不断增长,庞大的node_modules就像一座大山,让开发者喘不过气。

写过NodeJS的同学都会有一个体会,自己只写了几行代码,但是要安装的包竟然达到几个G,可能有些夸张,但是大量的node_modules真的很令人崩溃。

就在nodejs让人头疼的时候,一款号称“nodejs 杀手”的替代品“bun”出现了。

据Bun官方介绍,Bun 是一种 “all-in-one” 的JavaScript运行时。

有没有被震撼到,all-in-one!当我试着使用了Bun一段时间之后,得到了一个结论。

这玩意确实很厉害,但是似乎又缺点什么。

既然Bun 这么厉害,那么它都有哪些独特之处呢?

Bun 特性:

  • 快速启动。它在本地计算机、服务器或边缘运行您当前的 JavaScript 和 TypeScript 应用程序或脚本。
  • 快速运行性能。Bun 并没有采用V8,而是使用了更快的JavaScriptCore。
  • 凝聚力。Bun 是一个完整的工具包,包括捆绑器、转译器和包管理器。

从bun 公布的测试结果,server端渲染来看,bun 确实比nodejs、deno快至少3倍以上。

当然Bun作为“nodejs 替代者”;

还包含了以下特性:

  • 实现了Web Api,可以获取WebSocket和ReadableStream
  • 实现Node的node_modules解析算法,你可以在bun中直接使用npm包
  • 内置转移器,转译每个文件,TypeScript和JSX可以直接使用。
  • 支持,来自"paths""jsxImportSource"tsconfig json文件。
  • 自动从.env文件加载环境变量
  • 内置bun:sqlite
  • 实现了大部分Node-API,所以很多原生Node.js模块都可以正常工作。

从以上特性来看,bun 所要做的不光光是解决JavaScript runtime的问题,更是要把之前nodejs 支持的特性全部兼容;所以才有了“all-in-one”的口号。

当然,除了这些优点,bun 目前还有很多问题待解决;

最大的一个问题是Bun目前使用的zig开发语言也正在开发期,目前最新的版本还在beta,未正式发布,前途未卜。

第二个比较大的问题是bun目前只支持 mac、linux、windows下需要使用 WSL!

我想说,难道bun的作者是忽略了windows用户还是自己只有mac?

还有更大的一个问题是bun 的生态系统如何建立? 是继续使用Npm?

不过话说回来,Bun 还很年轻,从目前来看,它的优势也很明显;

未来一切顺利的话,也许JavaScript最佳运行时会被易主。

责任编辑:华轩 来源: 今日头条
相关推荐

2023-05-15 12:33:47

JavaPython编程语言

2022-05-31 09:57:36

编程语言Go语言Python

2022-10-21 14:28:17

商家平台消费者

2013-03-11 09:13:59

2021-11-18 09:35:55

SREDevOpsLinux

2013-01-28 14:16:59

2018-11-12 14:00:24

横评

2016-10-13 07:17:53

科技新闻早报微软谷歌

2019-12-11 15:50:12

数据库数据页面

2011-12-15 09:53:32

高负载处理甲骨文IBM

2021-12-08 12:20:55

KubernetesGitOpsLinux

2021-07-19 05:58:27

漏洞网络安全网络攻击

2021-02-22 10:54:28

AI 数据人工智能

2023-02-28 20:23:15

NodejsRequest测试

2009-09-09 11:02:20

取代路由器

2024-02-22 08:37:28

NodejsJavaScript运行

2009-01-16 15:33:10

EMCCLARiiON存储市场

2013-05-24 09:46:18

Windows 8传统桌面

2022-06-26 09:29:41

PodmanDocker

2011-07-12 09:12:54

PowerShellPowerCLI
点赞
收藏

51CTO技术栈公众号