Bun. Será o fim do node?
Tags: braziliandevs, javascript
Published: 2023-09-25 22:31:47

Lembrando para os mais novos na área que o Node não é uma linguagem, e sim o runtime que executa o JavaScript.

E é apenas um deles, temos outros, mas nenhum conseguiu chegar perto de tirar o reinado do Node.

E o assunto recente é o [Bun](https://bun.sh/), que veio com a intensão mudar isso e ser um substituto superior.
Também é o primeiro que tem um emoji como logo…

Inclusive a Vercel já disponibilizou suporte para o gerenciador de pacotes dele, que promete ser 25x mais rápido que o npm.

A Vercel utiliza outro runtime baseado em edge (que são aplicações serverless que rodam na região do cloud mais perto do usuário e com isso menor latência), e esse runtime usa menos recursos, tem o cold start, o tempo de inicialização, instantâneo, mas não suporta todas APIs do Node.

É essa busca por desempenho se torna maior até pelo recente crescimento das aplicações Server Side, aonde parte do código do front é executado no servidor e o cliente recebe menos JavaScript, já que muita já vem renderizada. Diferente das aplicações SPA, onde o cliente baixa e executa todo JavaScript. Então o Runtime passa a ser também importante para o front-end.

**Ecossistema JavaScript**

Antes de falar se haverá o fim do Node, quero fazer alguns comentários como anda a comunidade JavaScript.

Não há muito padrões, principalmente no front.
Quem nunca viu memes de que todo dia nasce uma biblioteca nova e de milhões de pacotes vindo ao executar npm install.

Isso é ruim porque traz uma fragmentação do ecossistema e é a maior crítica a linguagem, mas que não é um problema da linguagem e sim da comunidade.
Apesar disso, o JavaScript continua sendo uma boa linguagem e com nível de performance até melhor que outras grandes para algumas tarefas e com ótimas bibliotecas.
Segundo ranking do GitHub em 2022 tivemos o JavaScript como linguagem mais usada e TypeScript como quarta.

**Typescript**

É por falar de Typescript, vira e mexe alguém vem o criticar e defender o JavaScript puro. O DHH, criado do Ruby on Rails removeu o TypeScript do Turbo 8, mesmo a maioria da comunidade tendo votado contra, incluindo o segundo maior contribuidor, mas ele fez o merge e pronto.

Mais ou menos no estilo “não querem aprovar meu PR? Eu mesmo aprovo”.

Alguns ainda defendem seguir o caminho que o Svelte teve e substituir o TypeScript pelo JSDoc para tipagem, que é uma anotação, mas não tem o bloqueio de compilação.

Eu lembro quando o Angular 2 chegou forçando o TypeScript, pessoal falou que era loucura, mas no fim virou padrão de mercado. A maioria dos grandes projetos que eu tenho conhecimento hoje são nele.

**O fim do Node chegou?**

O bun não chega apenas querendo substituir o Node, mas traz uma DX (Experiência do desenvolvedor) melhor, vindo embutido várias ferramentas. Sendo não apenas um runtime, mas um toolkit de ferramentas, ajudando a eliminar um dos problemas que citei acima do ecossistema do JavaScript, que é a grande quantidade de bibliotecas necessárias para executar um projeto.

Além disso a Oven, empresa por trás do desenvolvimento do bun, recebeu um aporte de 7 milhões de dólares e está contratando desenvolvedores em Zig e C++ para trabalhar full time no Bun.

Apesar disso tudo, quando uma empresa vai escolher a stack de um novo projeto, ela não diz apenas, “vamos ver o que está no hype ou qual é a mais rápida?”. É também levado em consideração estabilidade e tamanho da comunidade.
Node tem mais de 12 anos e está na versão 20, o que passa confiança no mercado. Tem projetos que começam com tudo, mas acabam com pouca adoção e ficando sem suporte depois.

O Bun acabou de receber a sua primeira versão estável. Isso não quer dizer que ninguém vai usar, mas que não haverá, por agora, uma adoção em massa e nem matará o Node, que continua firme e forte, pelo menos por um tempo.

Inclusive foi questionado pelo Trev Norris, importante colaborador do Node, se o Bun irá conseguir manter toda essa performance ao implementar ferramentas de monitoramento.

Mas já podemos esperar vagas pedindo 5 anos de experiência em Bun. (Aviso de ironia)

Me siga para mais conteúdo desse tipo.
[LinkedIn](https://www.linkedin.com/in/raphaelramosbr)
[YouTube](https://www.youtube.com/@raphaelramosbr?sub_confirmation=1)
[Instagram](https://www.instagram.com/raphaelramos.br)
[X](https://twitter.com/raphaelramosbr)