Bun: Good replacement for Node.js?
Table of contents
I was following Bun project for some time since it released its 0.1.1 version by its creator Jarred Summer. It promised to faster drop-in replacement for Node.js with a native bundler, transpiler, task runner, and npm client built-in. It uses Zig as the programming language and JavascriptCore as its JS engine.
They release v0.5.1 and I am excited about it cause it, at last, implemented a few native Node.js APIs which were missing like dns
and tls
. When I first tried to build a REST API with Postgres connection I failed as it hadn't implemented modules required by pg module to run like dns
and tls
.
Basic REST API
export default {
fetch(req) {
return new Response("Hello from Bun!");
},
};
or you can use Bun.serve
:
Bun.serve({
fetch(req) {
return new Response("HI!");
},
});
and just use bun index.ts
or bun run index.ts
and your API is ready.
Use bun install <package name>
to install any package from npm.
Trying with real project
I was excited to use bun with my project. So, when I saw Bun implemented dns
and tls
module I jumped in, updated bun, ran bun install
to install dependencies, crossed my finger and executed bun run dev
and voila everything worked as I ran some Node.js projects.
Bun's main selling point is its fast at startup than Node.js as its using JavascriptCore.
Do have a look at Bun, you will find the benchmark score in the landing page itself and it's all about speed.
Keeping learning, keep building.