DEV Community

Cover image for Bun: o novo runtime para Javascript
Cristian Magalhães
Cristian Magalhães

Posted on • Edited on

9 3

Bun: o novo runtime para Javascript

Neste artigo irei lhe explicar o significado da palavra runtime e uma breve introdução ao Bun

O que é um runtime?

Runtime é o ambiente onde o javascript será executado.

Caso não tenha entendido ainda, eu te explico. O trabalho do runtime é executar o JavaScript fora do navegador, assim sendo o primeiro passo para que o JS possa ser usado como uma linguagem de backend. Primeiramente é necessário implementar o seu motor de execução o que no caso do node é usado o V8 que é o motor da Google.

Porém apenas isso não é o suficiente para que JS seja uma linguagem de backend pois por si só o JavaScript não acessa o FileSystem, não sobe servidor, resumindo ele não vai interagir com nada da sua máquina. Então entra o runtime a plataforma onde o seu código JS será executado, o mesmo pode implementar bibliotecas para aprimorar a linguagem. O runtime mais conhecido hoje em dia é o Node.js, porém nós iremos falar sobre um cara novo chamado bun.js

Quem é o Bun?

O bun.js é um novo runtime para JavaScript criado com as seguintes premissas

  • Start fast (it has the edge in mind). Iniciar rápido

  • New levels of performance (extending JavaScriptCore, the engine). Novos niveis de performance (extendo o core do Javascript)

  • Being a great and complete tool (bundler, transpiler, package manager). Sendo uma ferramente ótima e completa (bundler, transpilador e gerenciador de pacote)

A ideia do bun é que ele consiga substituir o seu runtime atual sem muito problemas. Até por isso ele implementa alguns módulos do NodeJS e ultiliza bibliotecas do NPM. Você pode checar quais APIs são implementadas neste link.

Além disso o bun também da suporte a arquivos TypeScript e JSX como a própria documentação diz, "isso apenas funciona".

Resumindo o bun é um runtime que ultiliza API's do NodeJs, pacotes do npm, compila códigos TypeScript e JSX e faz tudo isso de uma forma muita mais rápida que o Deno e o NodeJS.

Qual é o seu diferencial perante aos outros runtimes?

No geral o bun acaba sendo mais rápido que o seu concorrentes em lidar com requisições HTTP, realizar mais queries por segundo e resolver mais operações por segundo. Abaixo coloquei alguns prints dos gráficos que são apresentados no site do runtime.

Requisições HTTP

Image description

Queries

Image description

Operações por segundo

Image description

O que eu torna o bun mais rápido que seus concorrentes?

O Bun foi criado usando uma linguagem de programação multi-paradigma chamada Zig, também foi criado pensando em padrões de projetos mais modernos e ultilizando o motor JavaScriptCore ao contrário do NodeJS e Deno que usam o motor V8.

Projetos

Neste repositório eu adicionei um projeto web(react) e uma simples api usando o bun e junto com eles as suas instruções.

Fontes:

O que é Node.js? (Entenda de uma vez por todas)

Node.js Código Fonte TV

Muito obrigado por ler 🙃

Links úteis

Image of Wix Studio

2025: Your year to build apps that sell

Dive into hands-on resources and actionable strategies designed to help you build and sell apps on the Wix App Market.

Get started

Top comments (0)

👋 Kindness is contagious

Discover a treasure trove of wisdom within this insightful piece, highly respected in the nurturing DEV Community enviroment. Developers, whether novice or expert, are encouraged to participate and add to our shared knowledge basin.

A simple "thank you" can illuminate someone's day. Express your appreciation in the comments section!

On DEV, sharing ideas smoothens our journey and strengthens our community ties. Learn something useful? Offering a quick thanks to the author is deeply appreciated.

Okay