还在用 Node.js 吗?试试 Bun.js

Cover

今天的主角,Bun.js(下称 Bun),新一代的 All-In-One 的 JavaScript 运行时,Node.js(下称 Node) 和 Deno 的挑战者。

Bun 目前才 0.1.0 版本,作为后起之秀,却已经拥有超过 28K 的Star,要知道,目前发布多年 Node 目前是 89K。

图 1 Bun

图 2 Node

Bun /bʌn/,意思是「小圆面包」,这款去年 4 月由 Jarred-Sumner 创建的项目,为什么短短时间可以受到这么多人的青睐,我们来看一下 Bun 的官网:

Bun 官网

图 3 SSR

图 3 SQLite

图 5 FFI

这里提到的三方面,SSR、SQLite 和 FFI 都远远吊打 Node 和 Deno,这要得益于 Bun 自身提供的 JavaScript 内核,它比 V8 引擎更快、内存效率更高。

  • SSR,服务器渲染。

  • SQLite,一个 C 语言库,它实现了一个小型、快速、自包含、高可靠、全功能的 SQL 数据库引擎,主要用于移动端设备和大部分 PC 应用程序。

  • FFI,全称 Foreign function interface,外部函数接口,它是一种机制,可以调用另外编程语言提供的服务。

Bun 不仅实现了大部分的 Node API,诸如 Fetch、WebSocket等,
还集成了前端开发的最佳实践:

  1. 直接转译 JavaScript/TypeScript/JSX
  2. 打包 JavaScript/CSS
  3. 用于 package.json 脚本的任务运行器
  4. 兼容 npm 的包管理器

接下来来浅尝一下 Bun:

  1. 安装:适用于 MacOS 和 Linux
curl -fsSL https://bun.sh/install | bash
  1. 创建一个 TypeScript 类型的文件 http.ts,这里做一件简单的事情:起一个端口号为 3003 的服务,请求时响应字符串 Hello Bun
export default {
  port: 3003,
  fetch(request: Request) {
    return new Response('Hello Bun');
  },
};
  1. 在该文件下打开一个命令行终端,执行该脚本:
~ bun ./http.ts
  1. 在浏览器输入 URL : http://localhost:3003

图 6 响应

不过,目前 Bun 还是一个试验性的产品,不建议大家用于生产,该团队现阶段工作聚焦在 JavsScript 运行时上面,距离稳定的 v1.0.0 版本可能还要有一段很长的路要走,翘首期盼吧 🤩

Reference

[1] What Is SQLite?
[2] Foreign function interface

### 关于 Node.js 2025 年最新教程和资源 #### 获取官方文档和支持材料 对于希望深入了解或使用 Node.js 技术的人士来说,最权威的信息源始终是官方文档。尽管当前时间线尚未达到2025年,但可以预见的是,随着技术的发展,Node.js 官方网站将继续提供最新的API手册、最佳实践指南以及社区贡献的内容[^3]。 #### 社区驱动的学习平台 除了官方渠道外,在线学习平台上也会不断更新有关 Node.js 的课程资料。这些平台通常由经验丰富的开发者维护,能够及时反映行业趋势和技术进步。例如 Udemy, Coursera 等教育机构经常会推出针对不同层次用户的培训项目,从基础入门到高级主题都有覆盖。 #### 实践导向的技术博客与论坛 活跃的技术交流圈子也是获取前沿资讯的好去处。通过订阅一些知名博主的文章或者参与 Stack Overflow 这样的问答型社区讨论,可以获得一手的经验分享和技术见解。这类资源往往包含了实际案例分析和个人心得总结,有助于加深理解并解决具体问题。 #### 版本迭代关注重点 考虑到未来几年内可能出现的变化,建议特别留意版本间的差异及其带来的影响。比如现在就已经观察到了新老版本之间可能存在性能上的差距;因此保持对官方发布说明的关注非常重要,以便掌握何时何地引入了哪些重要的优化措施[^2]。 #### 探索新兴框架及工具链 与此同时,围绕着 Node.js 生态系统的周边组件也在快速发展之中。像 Bun.js 就是一个值得关注的例子——作为一种旨在成为更高效的 JavaScript/TypeScript 运行时解决方案,它不仅提供了更快的速度表现,还内置了许多实用的功能模块来简化开发流程[^1]。 ```javascript // 使用 Bun.js 创建简单的 HTTP 服务器示例 import { serve } from 'bun'; serve({ port: 8080, fetch(req) { return new Response('Hello world!'); } }); ```
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值