Bun é um conjunto de ferramentas completo para aplicativos JavaScript e TypeScript. Enviado como um único executável
Se você está procurando uma plataforma que permite que você execute aplicativos escritos em JavaScript, JSX e TypeScript Em ambientes com recursos limitados, o Bun pode ser uma ótima solução para você.
Bun está posicionado como uma plataforma projetada para execução independente de aplicativos JavaScript e TypeScript e que pode ser usada como um substituto transparente para a plataforma Node.js.
Sobre pão
Bun é um projeto que está sendo desenvolvido com o objetivo de garantir a compatibilidade com a sua aplicativos de servidor escrito para Node.js, suportando a maior parte da API Node.js, incluindo módulos e estruturas.
Comparado ao Node.js e ao Deno, que usam o mecanismo JavaScript V8, o Bun é baseado na estrutura JavaScriptCore desenvolvida pela Apple para o navegador Safari. Além do alto desempenho, o uso do JavaScriptCore também reduziu o consumo de memória.
Também APIs da web tradicionais são suportadas, incluindo objetos, além de fornecer suporte tanto para módulos Node.js quanto para módulos JavaScript (ESM), construídos de acordo com a especificação ECMAScript 6 e utilizados em aplicações web baseadas em navegador. Do jeito que está, a maioria dos pacotes npm criados para Node.js podem ser executados em Bun com pouca ou nenhuma modificação.
Bun é um substituto direto para Node.js. Isso significa que os aplicativos Node.js e pacotes npm existentes simplesmente funcionam no Bun
A plataforma também pode substituir muitas ferramentas relacionadas que estão sendo desenvolvidas para o ecossistema Node.js.
Viveiro inclui um conjunto completo de ferramentas para criar e executar aplicativos em JavaScript e TypeScript. Entre outras coisas, a plataforma fornece um tempo de execução para criar drivers do lado do servidor e executar aplicativos JavaScript sem navegador, um gerenciador de pacotes compatível com NPM, um conjunto de ferramentas para executar testes, um sistema para criar pacotes independentes e um bunx utilitário para instalar e executar pacotes do repositório NPM (equivalente a npx e Yarn dlx).
As metas declaradas incluem ser capaz de executar a maioria dos aplicativos JavaScript existentes no servidor, alcançar alto desempenho e fornecer ferramentas para reduzir a complexidade do desenvolvimento e aumentar a produtividade.
Destaca-se também que Bun fornece um conjunto mínimo de APIs otimizadas para executar tarefas com eficiência, como executar um servidor HTTP e trabalhar com arquivos. O modo “bun –hot” suporta o recarregamento automático de código quente em caso de alterações nos arquivos da aplicação, feitas sem parar o programa (durante uma reinicialização, as conexões estabelecidas não serão interrompidas e o estado não será perdido).
A especialidade de Bun é sua atuação que se orgulha de ser muito maior que Deno e Node.js. Por exemplo, em testes executando uma aplicação de servidor baseada no framework React, o uso do Bun demonstra o dobro do desempenho da plataforma Deno e 4,7 vezes mais que o Node.js. Em um teste de servidor de chat usando WebSocket, Bun supera Deno 2 vezes e Node.js 6 vezes. No teste de carregamento de tabelas grandes do SQLite, a plataforma Bun é duas vezes mais rápida que Deno e Node.js é 4 vezes mais rápida.
Como conseguir o pão?
Para os interessados em poder instalar o Bun, basta abrir um terminal e digitar o seguinte comando:
curl -fsSL https://bun.sh/install | bash
Quanto à forma de instalar aplicativos, você pode fazer isso usando o comando
bun install
E para compilar, basta executar o comando
bun build
Por fim, vale ressaltar que Bun, suporta os mecanismos usados no Node.js para trabalhar com módulos e lidar com dependências. O código do projeto é escrito em Zig e C++ e é distribuído sob a licença do MIT. Para executar JavaScript, são usados o mecanismo JavaScriptCore JavaScript e componentes do projeto WebKit com patches adicionais.
Se você interessado em saber mais sobre isso, você pode verificar os detalhes no link a seguir