Obter novos frameworks e bibliotecas o tempo todo é algo pelo qual o JavaScript é famoso. Em julho de 2022, o ecossistema recebeu um novo membro: Bun.js. Aqui, vamos dar uma olhada no Bun.js e ver como ele afeta o ecossistema JavaScript mais amplo.

O que é Bun.js?

Pão é definido como "um tempo de execução JavaScript all-in-one rápido". É o terceiro de seu tipo depois de Node.js e Deno.js, criado por Jarred Sumner usando a linguagem de programação Zig.

Seu principal objetivo é fornecer uma plataforma para executar JavaScript fora do navegador, assim como Node.js e Deno.js, mas o Bun avança para fornecer novos níveis de velocidade e complexidade aprimorada.

Como o JavaScript evoluiu

O JavaScript foi originalmente construído para rodar apenas dentro de navegadores, alimentados por mecanismos como SpiderMonkey e V8. Em 2009, Ryan Dahl incorporou o motor V8 em um programa C++ que ele chamou de Node.js. JavaScript, desde então, tornou-se relevante para vários usos, como aplicativos do lado do servidor e em tempo real.

instagram viewer

Promessas e módulos ES são exemplos de recursos JavaScript modernos que não existiam quando o Node.js foi criado. Ryan também deu uma palestra em 2018 sobre coisas de que se arrependeu sobre o Node.js. Seus arrependimentos inspiraram a criação do Deno.js, que ele lançou em 2020.

Deno é um executável construído com Rust que visa solucionar todas as falhas do Node, como segurança, desempenho e suporte nativo a TypeScript. É significativamente mais rápido e seguro que o Node, e vem com ferramentas ausentes no Node.js.

No entanto, o Deno não obteve a adoção massiva esperada mesmo após quatro anos de lançamento, visto que a maioria dos sistemas modernos já são baseados em Node e a mudança pode ser uma dor para os desenvolvedores. Ter que reescrever a maioria npm pacotes para suporte Deno também desafia sua adoção.

Em julho de 2022, um novo tempo de execução apareceu na versão beta - "Bun.js" - que tem sido um tópico de tendência dentro e fora da comunidade JavaScript. A interoperabilidade com o Node.js e o desempenho de alta velocidade que ele afirma oferecer foram o destaque. Também levantou discussões de que finalmente existe um “destruidor de nós” por aí.

Como o Bun.js se compara ao Node.js e ao Deno.js?

Node, Deno e Bun são todos runtimes para JavaScript fora do navegador, isso não neutraliza as diferenças entre eles.

Node.js foi escrito em C++, Deno em Rust e Bun em Zig. “O controle de baixo nível sobre a memória e a falta de fluxo de controle oculto no Zig facilitam a escrita de software rápido”, afirma o site de Bun.

Enquanto o Node e o Deno executam o mecanismo V8 do Google, o Bun aproveita o desempenho de “início rápido” do Webkit JavaScriptCore motor que o Safari da Apple usa. Os resultados de benchmark do site mostram como o Bun supera o Node e o Deno em desempenho, operando pelo menos 3 vezes mais rápido que os dois tempos de execução.

O Bun possui npm (gerenciador de pacotes Node) integrado, o que torna a instalação de pacotes a partir do npm fácil e rápida (20x a velocidade no Node), também suporta TypeScript e autotranspila arquivos TS e JSX. Outros recursos interessantes do Bun incluem um cliente SQLite3 embutido, APIs da Web como fetch e WebSocket, carregamento automático de variáveis ​​de ambiente e um executor de testes.

De todos os três, Bun leva o bolo pela performance. O Node continua sendo o mais estável com uma comunidade muito grande, enquanto o Deno é atualmente o mais seguro.

O Bun.js realmente impactará o ecossistema?

O ecossistema está animado com o lançamento de Bun. É agradável que o hype em torno do Bun tenha sido enorme desde o anúncio. É absolutamente um grande negócio. Os desenvolvedores de JavaScript realmente adorariam, considerando sua velocidade “explosiva” e ferramentas robustas para produtividade.

Além disso, Servidor Discord do Bun já tem mais de 2000 membros, o que comprova o entusiasmo da comunidade por esta nova tecnologia.

Qual é o futuro do Node.js, Deno.js e Bun.js?

JavaScript não vai desaparecer tão cedo. Na realidade, é uma das tecnologias que temos certeza de que ainda existirá daqui a 10 anos. Node, Deno e Bun também têm futuro.

O nó ainda é atualizado regularmente, versão 18.0 acaba de ser lançada recentemente, portanto, seu futuro permanece intacto mesmo com Deno e Bun por perto. Muitas empresas como o PayPal usam o Node em suas infraestruturas e até novas startups estão seguindo o exemplo.

O caso é semelhante para a Deno, que está ativamente desenvolvida e crescendo. A Deno também está avançando para uma solução SaaS para fornecer serviços de runtime JavaScript gerenciados.

Bun.js ainda é instável e tem suporte limitado (você precisa Subsistema Windows para Linux para executá-lo no Windows). Embora tenha tantos recursos, não pode ser uma opção para software pronto para produção agora, pois ainda há muito trabalho a ser feito.

Embora o futuro seja definitivamente promissor para Bun, é lógico acreditar que essas três tecnologias provavelmente acabarão coexistindo no ecossistema, e não uma substituindo a outra.

Bun.js pode ser um divisor de águas

Com o Bun, muitas coisas podem melhorar no JavaScript. Provavelmente é hora de o JavaScript obter uma melhor adoção em campos críticos de desempenho, como IA/ML, desenvolvimento de jogos etc. Dirija-se ao Bun.sh site para aprender a instalar e começar a desenvolver com Bun.