文章图片
今天的主角,Bun.js(下称 Bun),新一代的 All-In-One 的 JavaScript 运行时,Node.js(下称 Node) 和 Deno 的挑战者。
Bun 目前才 0.1.0 版本,作为后起之秀,却已经拥有超过 28K 的Star,要知道,目前发布多年 Node 目前是 89K。
【Hello|还在用 Node.js 吗(试试 Bun.js)】
文章图片
文章图片
Bun /b?n/,意思是「小圆面包」,这款去年 4 月由 Jarred-Sumner 创建的项目,为什么短短时间可以受到这么多人的青睐,我们来看一下 Bun 的官网:
Bun 官网
文章图片
文章图片
文章图片
这里提到的三方面,SSR、SQLite 和 FFI 都远远吊打 Node 和 Deno,这要得益于 Bun 自身提供的 JavaScript 内核,它比 V8 引擎更快、内存效率更高。
Bun 不仅实现了大部分的 Node API,诸如 Fetch、WebSocket等,
- SSR,服务器渲染。
- SQLite,一个 C 语言库,它实现了一个小型、快速、自包含、高可靠、全功能的 SQL 数据库引擎,主要用于移动端设备和大部分 PC 应用程序。
- FFI,全称 Foreign function interface,外部函数接口,它是一种机制,可以调用另外编程语言提供的服务。
还集成了前端开发的最佳实践:
- 直接转译 JavaScript/TypeScript/JSX
- 打包 JavaScript/CSS
- 用于
package.json
脚本的任务运行器 - 兼容 npm 的包管理器
- 安装:适用于 MacOS 和 Linux
curl -fsSL https://bun.sh/install | bash
- 创建一个 TypeScript 类型的文件
http.ts
,这里做一件简单的事情:起一个端口号为 3003 的服务,请求时响应字符串Hello Bun
:
export default {
port: 3003,
fetch(request: Request) {
return new Response('Hello Bun');
},
};
- 在该文件下打开一个命令行终端,执行该脚本:
~ bun ./http.ts
- 在浏览器输入 URL :
http://localhost:3003
文章图片
不过,目前 Bun 还是一个试验性的产品,不建议大家用于生产,该团队现阶段工作聚焦在 JavsScript 运行时上面,距离稳定的 v1.0.0 版本可能还要有一段很长的路要走,翘首期盼吧
我是 Pandy,一个喜欢英语的程序猿 ?Reference [1] What Is SQLite?
关注公众号 Yopth,回复「加群」,加入「英文技术翻译互助群」,我们加入一起充电英语
[2] Foreign function interface
推荐阅读
- javascript|性能吊打 Node.js 和 Deno 的新一代 javaScript 运行时-Bun.js
- pits|[vue3] error in ./node_modules/@vue/reactivity/dist/reactivity.esm-bundler.js
- js|Windows 下安装 Bun(像 Node 或 Deno 一样的现代 JavaScript 运行时)
- 爬虫案例合集|36氪详情页AES
- webpack|webpack基础(8).代码分离
- vue|vue环境搭建
- webpack|webpack知识点
- 七朋元视界可以随意变换的多种聊天模式安全便捷保密
- #项目: electron仿客户端QQ简易版